Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Hämtar ett egenskapsvärde för ett OLE-objekt.
Transact-SQL syntaxkonventioner
Syntax
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index... ]
[ ; ]
Argument
Viktig
Argument för utökade lagrade procedurer måste anges i den specifika ordning som beskrivs i avsnittet Syntax. Om parametrarna anges i fel ordning visas ett felmeddelande.
objekttoken
Objekttoken för ett OLE-objekt som tidigare skapades med hjälp av sp_OACreate.
egenskapsnamn
Egenskapsnamnet för OLE-objektet som ska returneras.
propertyvalue OUTPUT
Det returnerade egenskapsvärdet. Om det anges måste det vara en lokal variabel av lämplig datatyp.
Om egenskapen returnerar ett OLE-objekt måste egenskapsvärde vara en lokal variabel av datatyp int. En objekttoken lagras i den lokala variabeln och den här objekttoken kan användas med andra OLE Automation-lagrade procedurer.
Om egenskapen returnerar ett enda värde:
- ange en lokal variabel för propertyvalue, som returnerar egenskapsvärdet i den lokala variabeln. eller
- ange inte egenskapsvärde, som returnerar egenskapsvärdet till klienten som en resultatuppsättning med en kolumn och en rad.
När egenskapen returnerar en matris, om egenskapsvärde anges, anges den till NULL.
Om egenskapsvärde anges, men egenskapen inte returnerar något värde, uppstår ett fel. Om egenskapen returnerar en matris med fler än två dimensioner uppstår ett fel.
index
En indexparameter. Om det anges måste index vara ett värde av lämplig datatyp.
Vissa egenskaper har parametrar. Dessa egenskaper kallas indexerade egenskaper och parametrarna kallas indexparametrar. En egenskap kan ha flera indexparametrar.
Not
Parametrarna för den här lagrade proceduren anges efter position, inte namn.
Returnera kodvärden
0 (lyckades) eller ett icke-nolltal (fel) som är heltalsvärdet för HRESULT som returneras av OLE Automation-objektet.
Mer information om HRESULT-returkoder finns i RETURkoder för OLE Automation och felinformation.
Resultatuppsättning
Om egenskapen returnerar en matris med en eller två dimensioner returneras matrisen till klienten som en resultatuppsättning:
En endimensionell matris returneras till klienten som en resultatuppsättning med en rad med så många kolumner som det finns element i matrisen. Matrisen returneras med andra ord som kolumner.
En tvådimensionell matris returneras till klienten som en resultatuppsättning med så många kolumner som det finns element i matrisens första dimension och med så många rader som det finns element i matrisens andra dimension. Matrisen returneras med andra ord som (kolumner, rader).
När ett egenskapsreturvärde eller metodreturvärde är en matris returnerar sp_OAGetProperty eller sp_OAMethod ett resultat inställt på klienten. (Metodutdataparametrar kan inte vara matriser.) Dessa procedurer genomsöker alla datavärden i matrisen för att fastställa lämpliga SQL Server-datatyper och datalängder som ska användas för varje kolumn i resultatuppsättningen. För en viss kolumn använder dessa procedurer den datatyp och den längd som krävs för att representera alla datavärden i den kolumnen.
När alla datavärden i en kolumn delar samma datatyp används den datatypen för hela kolumnen. När datavärdena i en kolumn har olika datatyper väljs datatypen för hela kolumnen baserat på följande diagram.
| Int | flyta | pengar | datetime | varchar | nvarchar | |
|---|---|---|---|---|---|---|
| int | int | flyttal | pengar | varchar | varchar | nvarchar |
| flyttal | flyttal | flyttal | pengar | varchar | varchar | nvarchar |
| pengar | pengar | pengar | pengar | varchar | varchar | nvarchar |
| datetime | varchar | varchar | varchar | datetime | varchar | nvarchar |
| varchar | varchar | varchar | varchar | varchar | varchar | nvarchar |
| nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar |
Anmärkningar
Du kan också använda sp_OAMethod för att hämta ett egenskapsvärde.
Behörigheter
Kräver medlemskap i sysadmin fast serverroll eller kör behörighet direkt på den här lagrade proceduren. Alternativet Ole Automation-procedurer serverkonfiguration måste vara aktiverat för att kunna använda alla systemprocedurer som är relaterade till OLE Automation.
Exempel
A. Använda en lokal variabel
I följande exempel hämtas egenskapen HostName (för det tidigare skapade SQLServer-objektet) och lagrar den i en lokal variabel.
DECLARE @property AS VARCHAR (255);
EXECUTE
@hr = sp_OAGetProperty
@object,
'HostName',
@property OUTPUT;
IF @hr <> 0
BEGIN
EXECUTE sp_OAGetErrorInfo @object;
RETURN;
END
PRINT @property;
B. Använda en resultatuppsättning
I följande exempel hämtas egenskapen HostName (för det tidigare skapade SQLServer objektet) och returnerar den till klienten som en resultatuppsättning.
EXECUTE
@hr = sp_OAGetProperty
@object,
'HostName';
IF @hr <> 0
BEGIN
EXECUTE sp_OAGetErrorInfo @object;
RETURN;
END