sp_OAGetProperty (Transact-SQL)
platí pro:SQL Server
Získá hodnotu vlastnosti objektu OLE.
Syntax
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index... ]
[ ; ]
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
Token objektu objektu OLE objektu, který byl dříve vytvořen pomocí sp_OACreate
.
název vlastnosti
Název vlastnosti objektu OLE, který se má vrátit.
vlastnostvalue OUTPUT
Vrácená hodnota vlastnosti. Pokud je zadáno, musí se jednat o místní proměnnou příslušného datového typu.
Pokud vlastnost vrátí objekt OLE, hodnota vlastnosti musí být místní proměnnou datového typu int. Token objektu je uložen v místní proměnné a tento token objektu lze použít s jinými uloženými procedurami OLE Automation.
Pokud vlastnost vrátí jednu hodnotu, buď:
- zadejte místní proměnnou pro propertyvalue, která vrátí hodnotu vlastnosti v místní proměnné; nebo
- nezadávejte hodnota vlastnosti, která vrací hodnotu vlastnosti klientovi jako jednosloupcovou sadu výsledků s jedním řádkem.
Když vlastnost vrátí matici, pokud je zadána hodnota vlastnosti , je nastavena na NULL
.
Pokud je zadána hodnota vlastnosti, ale tato vlastnost nevrací hodnotu, dojde k chybě. Pokud vlastnost vrátí pole s více než dvěma dimenzemi, dojde k chybě.
indexu
Parametr indexu. Pokud je zadán, index musí být hodnota příslušného datového typu.
Některé vlastnosti mají parametry. Tyto vlastnosti se nazývají indexované vlastnosti a parametry se nazývají parametry indexu. Vlastnost může mít více parametrů indexu.
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 vlastnost vrátí pole s jednou nebo dvěma dimenzemi, vrátí se pole klientovi jako sada výsledků:
Jednorozměrné pole se klientovi vrátí jako sada výsledků s jedním řádkem s tolika sloupci, kolik je v poli prvků. Jinými slovy, pole se vrátí jako sloupce.
Dvojrozměrné pole se klientovi vrátí jako výsledná sada s tolika sloupci, kolik jsou prvky v první dimenzi pole a s tolika řádky, kolik jsou prvky ve druhé dimenzi pole. Jinými slovy, matice se vrátí jako (sloupce, řádky).
Pokud je vrácená hodnota vlastnosti nebo návratová hodnota metody matice, sp_OAGetProperty
nebo sp_OAMethod
vrátí sadu výsledků klienta. (Výstupní parametry metody nemůžou být pole.) Tyto postupy prohledávají všechny datové hodnoty v poli a určují odpovídající datové typy a délky dat SQL Serveru, které se mají použít pro každý sloupec v sadě výsledků. U konkrétního sloupce tyto postupy používají datový typ a délku potřebnou k reprezentaci všech datových hodnot v daném sloupci.
Pokud všechny datové hodnoty ve sloupci sdílejí stejný datový typ, použije se tento datový typ pro celý sloupec. Pokud jsou datové hodnoty ve sloupci různých datových typů, vybere se datový typ celého sloupce na základě následujícího grafu.
Int | plout | peníze | datetime | varchar | nvarchar | |
---|---|---|---|---|---|---|
int | int | plovoucí | peněz | varchar | varchar | nvarchar |
plovoucí | plovoucí | plovoucí | peněz | varchar | varchar | nvarchar |
peněz | peněz | peněz | peněz | varchar | varchar | nvarchar |
data a času | varchar | varchar | varchar | data a času | varchar | nvarchar |
varchar | varchar | varchar | varchar | varchar | varchar | nvarchar |
nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar |
Poznámky
Hodnotu vlastnosti můžete získat také pomocí sp_OAMethod
.
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
A. Použití místní proměnné
Následující příklad načte vlastnost HostName
(dříve vytvořeného objektu SQLServer
) a uloží ji do místní proměnné.
DECLARE @property VARCHAR(255);
EXEC @hr = sp_OAGetProperty @object,
'HostName',
@property OUTPUT;
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property;
B. Použití sady výsledků
Následující příklad načte vlastnost HostName
(dříve vytvořeného objektu SQLServer
) a vrátí ji klientovi jako sadu výsledků.
EXEC @hr = sp_OAGetProperty @object,
'HostName';
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END;
Související obsah
- uložené procedury OLE Automation (Transact-SQL)
- ukázkový skript pro automatizaci OLE