sp_OAGetErrorInfo (języka Transact-SQL)
Pobiera informacje o błędach automatyzacji OLE.
Składnia
sp_OAGetErrorInfo [ objecttoken ]
[ , source OUTPUT ]
[ , description OUTPUT ]
[ , helpfile OUTPUT ]
[ , helpid OUTPUT ]
Argumenty
objecttoken
Jest tokenem obiektu obiektu OLE, który został wcześniej utworzony przy użyciu sp_OACreate lub ma wartość NULL.Jeśli objecttoken jest określony, jest zwracany błąd informacji dla tego obiektu.Jeśli określona jest wartość NULL, zwracane są informacje o błędzie dla całej partia .sourceDANE WYJŚCIOWE
Jest źródło informacji o błędach.Jeśli określony, musi być lokalną char, nchar, varchar, lub nvarchar zmienną.Wartość zwracana jest obcinana dopasowanie zmiennej lokalnej, jeżeli jest to konieczne.descriptionDANE WYJŚCIOWE
Jest opis błędu.Jeśli określony, musi być lokalną char, nchar, varchar, lub nvarchar zmienną.Wartość zwracana jest obcinana dopasowanie zmiennej lokalnej, jeżeli jest to konieczne.helpfileDANE WYJŚCIOWE
Jest to plik pomocy dla obiektu OLE.Jeśli określony, musi być lokalną char, nchar, varchar, lub nvarchar zmienną.Wartość zwracana jest obcinana dopasowanie zmiennej lokalnej, jeżeli jest to konieczne.helpidDANE WYJŚCIOWE
Jest identyfikatorem kontekstu pliku pomocyJeśli określony, musi być lokalną int zmienną.Ostrzeżenie
Parametry dla tej procedura składowana są określane przez położenie nie nazwę.
Wartości kodów powrotnych
0 (sukces) lub liczbę różną od zera (błąd), która jest wartością całkowitą wartość HRESULT zwrócone przez obiekt automatyzacji OLE.
Aby uzyskać więcej informacji na temat kody powrotne HRESULT zobacz OLE automatyzacji kody zwrotne i informacje o błędzie.
Zestawy wyników
Jeśli nie określono żadnych parametrów wyjściowych, informacje o błędzie są zwracane do klient jako zestaw wyników.
Nazwy kolumn |
Typ danych |
Opis |
---|---|---|
Błąd |
binary(4) |
Reprezentacja binarna numer błędu. |
Source |
nvarchar(nn) |
Źródła błędu. |
Opis |
nvarchar(nn) |
Opis błędu. |
HelpFile |
nvarchar(nn) |
Plik pomocy dla źródło. |
HelpID |
int |
Identyfikator kontekstu w pliku źródło pomocy pomocy. |
Uwagi
Każde wywołanie automatyzacji OLE procedura składowana (z wyjątkiem sp_OAGetErrorInfo) Resetuje informacje o błędach; w związku z tym sp_OAGetErrorInfo uzyskuje informacje o błędzie tylko dla ostatnich wywołanie procedura składowana automatyzacji OLE.Należy zauważyć, że ponieważ sp_OAGetErrorInfo nie resetuje informacje o błędzie, może ona zostać wywołana wiele razy uzyskać te same informacje o błędzie.
W poniższej tabela wymieniono automatyzacji OLE błędów i ich typowe przyczyny.
Błąd i wynik HRESULT |
Typową przyczyną |
---|---|
Zły typ zmiennej (0x80020008) |
Typ danych o Transact-SQL Wartość przekazywana jako parametr metoda nie odpowiada Microsoft Visual Basic typu danych wartość NULL lub parametr metoda została przekazana jako parametr metoda . |
Nieznana nazwa (0x8002006) |
Nie można odnaleźć określonej nazwy właściwość lub metoda dla określonego obiektu. |
Nieprawidłowa klasa ciąg (0x800401f3) |
Określony identyfikator ProgID lub numerem CLSID nie jest zarejestrowany jako obiekt OLE w wystąpienie SQL Server.Serwery automatyzacji OLE niestandardowe muszą być rejestrowane przed mogą być utworzone, za pomocą sp_OACreate.Można to zrobić za pomocą narzędzia Regsvr32.exe dla serwerów w trakcie (.dll) lub /regserver przełącznik wiersza polecenia dla serwerów lokalnych (.exe). |
Wykonanie serwera nie powiodło się (0x80080005) |
Określony obiekt OLE jest zarejestrowany jako lokalny serwer OLE (pliku .exe), ale plik exe nie można znaleźć lub uruchomić. |
Nie można było znaleźć określonego modułu (0x8007007e) |
Określony obiekt OLE jest zarejestrowany jako serwer OLE w proces (plik .dll), ale plik .dll nie można odnaleźć lub załadować. |
Niezgodność typów (0x80020005) |
Typ danych o Transact-SQL zmiennej lokalnej używanej do przechowywania wartości zwróconej właściwość lub metoda wartości zwracanej nie odpowiada Visual Basic Typ danych właściwość lub metoda zwracają wartość.Lub zwrot zażądano wartości właściwość lub metoda , ale nie zwraca wartości. |
Typ danych lub wartości kontekstu Parametr sp_OACreate jest nieprawidłowy.(0x8004275B) |
Wartość parametru context powinien być jednym z: 1, 4 lub 5. |
Aby uzyskać więcej informacji na temat przetwarzania kody powrotne HRESULT zobacz OLE automatyzacji kody zwrotne i informacje o błędzie.
Uprawnienia
Wymaga członkostwa w sysadmin stała rola serwera.
Przykłady
Poniższy przykład wyświetla informacje o błędach automatyzacji OLE.
DECLARE @output varchar(255)
DECLARE @hr int
DECLARE @source varchar(255)
DECLARE @description varchar(255)
PRINT 'OLE Automation Error Information'
EXEC @hr = sp_OAGetErrorInfo @object, @source OUT, @description OUT
IF @hr = 0
BEGIN
SELECT @output = ' Source: ' + @source
PRINT @output
SELECT @output = ' Description: ' + @description
PRINT @output
END
ELSE
BEGIN
PRINT ' sp_OAGetErrorInfo failed.'
RETURN
END