sp_OAGetErrorInfo (Transact-SQL)
platí pro:SQL Server
Získá informace o chybě automatizace OLE.
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;
Související obsah
- uložené procedury OLE Automation (Transact-SQL)
- ukázkový skript pro automatizaci OLE