Udostępnij za pośrednictwem


sp_OAGetErrorInfo (Transact-SQL)

Pobiera informacje o automatyzacji OLE.

Topic link iconKonwencje składni języka Transact-SQL

sp_OAGetErrorInfo [ objecttoken ]
    [ , source OUTPUT ] 
    [ , description OUTPUT ] 
    [ , helpfile OUTPUT ] 
    [ , helpid OUTPUT ] 

Argumenty

  • objecttoken
    Jest tokenem obiektu z obiekt OLE, który został wcześniej utworzony przy użyciu sp_OACreate lub ma wartość NULL.Jeśli objecttoken jest określony, informacje o błędzie dla tego obiektu są zwracane. Jeśli określona została wartość NULL, zostanie zwrócona informacje o błędach dla całej partia.

  • sourceDANE WYJŚCIOWE
    Czy urządzenie źródłowe informacji o błędach.Jeśli określono, musi być lokalny char, nchar, varchar, lub nvarchar Zmienna. Zwracana wartość jest obcinana do wartości mieszczą się w zmiennej lokalnej, w razie potrzeby.

  • descriptionDANE WYJŚCIOWE
    Jest opis błędu.Jeśli określono, musi być lokalny CHAR, nchar, varchar, or nvarchar zmiennej.Zwracana wartość jest obcinana do wartości mieszczą się w zmiennej lokalnej, w razie potrzeby.

  • helpfileDANE WYJŚCIOWE
    Jest to plik pomocy dla obiektu OLE.Jeśli określono, musi być lokalny char, nchar, varchar, lub nvarchar Zmienna. Zwracana wartość jest obcinana do wartości mieszczą się w zmiennej lokalnej, w razie potrzeby.

  • helpidDANE WYJŚCIOWE
    To identyfikator pomocy pliku kontekstu.Jeśli określono, musi być lokalny int Zmienna.

    Uwaga

    Parametry dla tej procedura przechowywana są określane przez pozycji nie nazwę.

Wartości kodów powrotnych

0 (sukces) lub liczbę różną od zera (błąd), która jest liczbą całkowitą wartość HRESULT, zwrócone przez obiekt automatyzacji OLE.

Aby uzyskać więcej informacji na temat Kody zwracanych wartości HRESULT zobacz OLE Automation Return Codes and Error Information.

Zestawy wyników

Jeśli zostaną określone nie parametry wyjściowe, informacje o błędzie jest zwracana do klient w wyniku zestaw.

Nazwy kolumn

Typ danych

Description

Błąd

binary(4)

Reprezentacja binarna numer błędu.

Źródło

nvarchar(nn)

urządzenie źródłowe błędu.

Description

nvarchar(nn)

Opis błędu.

Helpfile

nvarchar(nn)

Pomoc w pliku urządzenie źródłowe.

HelpID

int

Pomoc IDENTYFIKATORA kontekstu w pliku źródłowym pomocy.

Remarks

Każde wywołanie automatyzacji OLE przechowywanej procedury (z wyjątkiem sp_OAGetErrorInfo) Resetuje błąd informacje; dlatego sp_OAGetErrorInfo uzyskuje informacje o błędzie tylko dla ostatnich wywołanie procedury automatyzacji OLE przechowywanych.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.

Poniższa lista zawiera błędy automatyzacji OLE i ich typowe przyczyny.

Błąd i wynik HRESULT

Typowe przyczyny

Zły typ zmiennej (0x80020008)

Data type of a Transact-SQL value passed as a method parameter did not match the Microsoft Visual Basic data type of the method parameter, or a NULL value was passed as a method parameter.

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 programu lub identyfikator klasy nie jest zarejestrowany jako obiekt OLE w instancji SQL Server. Serwery automatyzacji OLE niestandardowy musi być zarejestrowany, przed ich może być utworzone przy użyciu sp_OACreate.Można to zrobić za pomocą narzędzia Regsvr32.exe w przypadku serwerów w procesie (.dll) lub / REGSERVER przełącznika 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 pliku .exe nie mogą zostać znalezione lub rozpoczęte.

Określony moduł nie można odnaleźć (0x8007007e)

Określony obiekt OLE jest zarejestrowany jako serwer OLE w procesie (plik .dll), ale plik .dll nie mogą zostać znalezione lub załadowany.

Niezgodność typów (0x80020005)

Typ danych Transact-SQL Zmienna lokalna, służący 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.

Wartość parametru 'kontekstu „ sp_OACreate lub typ danych jest nieprawidłowy.(0x8004275B)

Wartość parametru kontekst powinien być jednym z: 1, 4 lub 5.

Aby uzyskać więcej informacji na temat przetwarzania kody zwracanych wartości HRESULT zobacz OLE Automation Return Codes and Error Information.

Uprawnienia

Członkostwo w grupie wymaga sysadmin stała rola serwera.

Przykłady

Poniższy przykład wyświetla informacje o 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