Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Hiermee haalt u een eigenschapswaarde van een OLE-object op.
Transact-SQL syntaxisconventies
Syntaxis
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index... ]
[ ; ]
Argumenten
Belangrijk
Argumenten voor uitgebreide opgeslagen procedures moeten worden ingevoerd in de specifieke volgorde, zoals beschreven in de sectie Syntaxis. Als de parameters niet in de volgorde zijn ingevoerd, treedt er een foutbericht op.
objecttoken
Het objecttoken van een OLE-object dat eerder is gemaakt met behulp van sp_OACreate
.
eigenschapsnaam
De eigenschapsnaam van het OLE-object dat moet worden geretourneerd.
eigenschapswaarde UITVOER
De geretourneerde eigenschapswaarde. Indien opgegeven, moet het een lokale variabele van het juiste gegevenstype zijn.
Als de eigenschap een OLE-object retourneert, moet eigenschapswaarde een lokale variabele van het gegevenstype intzijn. Een objecttoken wordt opgeslagen in de lokale variabele en dit objecttoken kan worden gebruikt met andere opgeslagen OLE Automation-procedures.
Als de eigenschap één waarde retourneert, kunt u:
- geef een lokale variabele op voor eigenschapswaarde, die de eigenschapswaarde in de lokale variabele retourneert; of
- geef geen eigenschapswaarde op, waarmee de eigenschapswaarde naar de client wordt geretourneerd als een resultatenset met één kolom en één rij.
Wanneer de eigenschap een matrix retourneert en eigenschapswaarde is opgegeven, wordt deze ingesteld op NULL
.
Als eigenschapswaarde is opgegeven, maar de eigenschap geen waarde retourneert, treedt er een fout op. Als de eigenschap een matrix met meer dan twee dimensies retourneert, treedt er een fout op.
index
Een indexparameter. Indien opgegeven, moet index een waarde van het juiste gegevenstype zijn.
Sommige eigenschappen hebben parameters. Deze eigenschappen worden geïndexeerde eigenschappen genoemd en de parameters worden indexparameters genoemd. Een eigenschap kan meerdere indexparameters hebben.
Notitie
De parameters voor deze opgeslagen procedure worden opgegeven op positie, niet op naam.
Codewaarden retourneren
0
(geslaagd) of een niet-nulnummer (fout) dat de gehele waarde is van het HRESULT dat wordt geretourneerd door het OLE Automation-object.
Zie OLE Automation-retourcodes en foutinformatievoor meer informatie over HRESULT-retourcodes.
Resultatenset
Als de eigenschap een matrix met een of twee dimensies retourneert, wordt de matrix als resultaatset naar de client geretourneerd:
Een eendimensionale matrix wordt aan de client geretourneerd als een resultatenset met één rij met zoveel kolommen als er elementen in de matrix zijn. Met andere woorden, de matrix wordt geretourneerd als kolommen.
Een tweedimensionale matrix wordt als resultaatset geretourneerd naar de client met zoveel kolommen als er elementen in de eerste dimensie van de matrix zijn en met zoveel rijen als er elementen in de tweede dimensie van de matrix zijn. Met andere woorden, de matrix wordt geretourneerd als (kolommen, rijen).
Wanneer een eigenschap retourwaarde of methode-retourwaarde een matrix is, retourneert sp_OAGetProperty
of sp_OAMethod
een resultatenset op de client. (Parameters voor methodeuitvoer kunnen geen matrices zijn.) Met deze procedures worden alle gegevenswaarden in de matrix gescand om de juiste SQL Server-gegevenstypen en gegevenslengten te bepalen die voor elke kolom in de resultatenset moeten worden gebruikt. Voor een bepaalde kolom gebruiken deze procedures het gegevenstype en de lengte die nodig is om alle gegevenswaarden in die kolom weer te geven.
Wanneer alle gegevenswaarden in een kolom hetzelfde gegevenstype delen, wordt dat gegevenstype gebruikt voor de hele kolom. Wanneer gegevenswaarden in een kolom van verschillende gegevenstypen zijn, wordt het gegevenstype van de hele kolom gekozen op basis van de volgende grafiek.
Int | drijven | geld | datum/tijd | varchar | nvarchar | |
---|---|---|---|---|---|---|
float- | geld | varchar- | varchar- | nvarchar- | ||
float- | float- | float- | geld | varchar- | varchar- | nvarchar- |
geld | geld | geld | geld | varchar- | varchar- | nvarchar- |
datum/tijd- | varchar- | varchar- | varchar- | datum/tijd- | varchar- | nvarchar- |
varchar- | varchar- | varchar- | varchar- | varchar- | varchar- | nvarchar- |
nvarchar- | nvarchar- | nvarchar- | nvarchar- | nvarchar- | nvarchar- | nvarchar- |
Opmerkingen
U kunt ook sp_OAMethod
gebruiken om een eigenschapswaarde op te halen.
Machtigingen
Vereist lidmaatschap van de sysadmin vaste serverfunctie of voer de machtiging rechtstreeks uit voor deze opgeslagen procedure. De Ole Automation-procedures serverconfiguratieoptie moet zijn ingeschakeld voor het gebruik van een systeemprocedure met betrekking tot OLE Automation.
Voorbeelden
Een. Een lokale variabele gebruiken
In het volgende voorbeeld wordt de eigenschap HostName
(van het eerder gemaakte SQLServer
-object) opgehaald en opgeslagen in een lokale variabele.
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. Een resultatenset gebruiken
In het volgende voorbeeld wordt de eigenschap HostName
(van het eerder gemaakte SQLServer
-object) opgehaald en geretourneerd naar de client als resultaatset.
EXECUTE
@hr = sp_OAGetProperty
@object,
'HostName';
IF @hr <> 0
BEGIN
EXECUTE sp_OAGetErrorInfo @object;
RETURN;
END