Sdílet prostřednictvím


sp_OAGetErrorInfo (Transact-SQL)

platí pro:SQL Server

Získá informace o chybě automatizace OLE.

Transact-SQL konvence syntaxe

Syntax

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

Argumenty

Důležitý

Argumenty rozšířených uložených procedur musí být zadány v určitém pořadí, jak je popsáno v části Syntaxe. Pokud jsou parametry zadány mimo pořadí, dojde k chybové zprávě.

objektu

Buď token objektu OLE objektu, který byl dříve vytvořen pomocí sp_OACreate, nebo NULL. Pokud je zadán objektu, vrátí se informace o chybě daného objektu. Pokud je zadán NULL, vrátí se informace o chybě pro celou dávku.

VÝSTUP zdroje

Zdroj informací o chybě. Pokud je zadáno, musí to být místní znak, nchar, varcharnebo nvarchar proměnná. Vrácená hodnota je zkrácena tak, aby se v případě potřeby vešla do místní proměnné.

popis VÝSTUP

Popis chyby. Pokud je zadáno, musí to být místní znak, nchar, varcharnebo nvarchar proměnná. Vrácená hodnota je zkrácena tak, aby se v případě potřeby vešla do místní proměnné.

helpfile OUTPUT

Soubor nápovědy pro objekt OLE. Pokud je zadáno, musí to být místní znak, nchar, varcharnebo nvarchar proměnná. Vrácená hodnota je zkrácena tak, aby se v případě potřeby vešla do místní proměnné.

helpid OUTPUT

ID kontextu souboru nápovědy. Pokud je zadáno, musí se jednat o místní int proměnnou.

Poznámka

Parametry pro tuto uloženou proceduru jsou určeny umístěním, nikoli názvem.

Návratové hodnoty kódu

0 (úspěch) nebo nenulové číslo (selhání), které je celočíselná hodnota HRESULT vrácená objektem AUTOMATIZACE OLE.

Další informace o návratových kódech HRESULT najdete v tématu návratové kódy automatizace OLE a informace o chybách.

Sada výsledků

Pokud nejsou zadány žádné výstupní parametry, informace o chybě se klientovi vrátí jako sada výsledků.

Název sloupce Datový typ Popis
Error binární(4) Binární reprezentace čísla chyby.
Source nvarchar(nn) Zdroj chyby.
Description nvarchar(nn) Popis chyby
Helpfile nvarchar(nn) Soubor nápovědy pro zdroj
HelpID int ID kontextu nápovědy ve zdrojovém souboru nápovědy

Poznámky

Každé volání uložené procedury OLE Automation (s výjimkou sp_OAGetErrorInfo) obnoví informace o chybě; proto sp_OAGetErrorInfo získá informace o chybě pouze pro nejnovější volání uložené procedury OLE Automation. Vzhledem k tomu, že sp_OAGetErrorInfo informace o chybě neobnoví, můžete je volat několikrát, aby se zobrazily stejné informace o chybě.

Následující tabulka uvádí chyby automatizace OLE a jejich běžné příčiny.

Chyba a HRESULT Běžná příčina
chybný typ proměnné (0x80020008) Datový typ Transact-SQL hodnoty předané jako parametr metody se neshodoval s datovým typem parametru metody v jazyce Microsoft Visual Basic nebo se jako parametr metody předala hodnota NULL.
neznámý název (0x8002006) Pro zadaný objekt nebyl nalezen zadaný název vlastnosti nebo metody.
neplatný řetězec třídy (0x800401f3) Zadaný identifikátor ProgID nebo CLSID není zaregistrovaný jako objekt OLE v instanci SQL Serveru. Vlastní automatizační servery OLE musí být registrovány před vytvořením instance pomocí sp_OACreate. Servery můžete zaregistrovat pomocí nástroje Regsvr32.exe pro servery v procesu (.dll) nebo pomocí přepínače příkazového řádku /REGSERVER pro místní servery (.exe).
Server selhal (0x80080005) Zadaný objekt OLE je registrován jako místní server OLE (.exe soubor), ale soubor .exe nebyl nalezen nebo spuštěn.
zadaný modul nebyl nalezen (0x8007007e) Zadaný objekt OLE je registrován jako procesový server OLE (.dll soubor), ale soubor .dll nebyl nalezen nebo načten.
neshoda typů (0x80020005) Datový typ Transact-SQL místní proměnné, která se používá k uložení vrácené hodnoty vlastnosti nebo návratové hodnoty metody neodpovídá datovému typu jazyka Visual Basic vlastnosti nebo návratové hodnoty metody. Nebo návratová hodnota vlastnosti nebo metody byla požadována, ale nevrací hodnotu.
Datový typ nebo hodnota parametru context sp_OACreate je neplatná. (0x8004275B) Hodnota parametru kontextu by měla být jedna z: 1, 4 nebo 5.

Další informace o zpracování návratových kódů HRESULT najdete v tématu návratové kódy automatizace OLE a informace o chybách.

Dovolení

Vyžaduje členství v správce systému pevné role serveru nebo spustit oprávnění přímo v této uložené proceduře. Možnost konfigurace procedur Ole Automation serveru musí být povolena, aby bylo možné použít jakýkoli systémový postup související se službou OLE Automation.

Příklady

Následující příklad zobrazí informace o chybě automatizace 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 OUTPUT,
    @description OUTPUT;

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;