Udostępnij za pośrednictwem


sp_OAGetErrorInfo (języka Transact-SQL)

Pobiera informacje o błędach automatyzacji OLE.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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