Sdílet prostřednictvím


sp_OAGetProperty (Transact-SQL)

platí pro:SQL Server

Získá hodnotu vlastnosti objektu OLE.

Transact-SQL konvence syntaxe

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;