Dela via


Syntax för objekthierarki (Transact-SQL)

gäller för:SQL Server

Parametern propertyname för sp_OAGetProperty och sp_OASetProperty och parameternsp_OAMethod methodname för stöder en objekthierarkisyntax som liknar den för Microsoft Visual Basic. När den här speciella syntaxen används har dessa parametrar följande allmänna formulär.

Syntax

TraversedObject.PropertyOrMethod

Argumentpunkter

TraversedObject

Ett OLE-objekt i hierarkin under objecttoken som anges i den lagrade proceduren. Använd Visual Basic-syntax för att ange en serie samlingar, objektegenskaper och metoder som returnerar objekt. Varje objektspecificerare i serien måste avgränsas med en punkt (.).

Ett objekt i serien kan vara namnet på en samling. Använd den här syntaxen för att ange en samling:

Collection("item")

Dubbla citattecken (") krävs. Utropsteckensyntaxen för Visual Basic (!) för samlingar stöds inte.

PropertyOrMethod

Namnet på en egenskap eller metod för TraversedObject.

Om du vill ange alla index- eller metodparametrar inom parenteserna (vilket gör att alla index- eller metodparametrar i sp_OAGetProperty, sp_OASetPropertyeller sp_OAMethod ignoreras) använder du följande syntax:

PropertyOrMethod ( [ ParameterName := ] "parameter" [ , ... ] )

Dubbla citattecken (") krävs. Alla namngivna parametrar måste anges när alla positionsparametrar har angetts.

Anmärkningar

Om TraversedObject inte har angetts krävs PropertyOrMethod .

Om PropertyOrMethod inte har angetts returneras TraversedObject som en utdataparameter för objekttoken från den lagrade OLE Automation-proceduren.

Om PropertyOrMethod anges anropas egenskapen eller metoden för TraversedObject . Egenskapsvärdet eller metodens returvärde returneras som en utdataparameter från den lagrade OLE Automation-proceduren.

Om något objekt i TraversedObject-listan inte returnerar ett OLE-objekt utlöses ett fel.

Mer information om Visual Basic OLE-objektsyntax finns i Visual Basic-dokumentationen.

Mer information om HRESULT returkoder finns i sp_OACreate.

Exempel

Följande är exempel på objekthierarkisyntax som använder ett SQL-DMO SQLServer-objekt.

-- Get the AdventureWorks2022 Person.Address Table object.
EXECUTE @hr = sp_OAGetProperty @object,
    'Databases("AdventureWorks2022").Tables("Person.Address")',
    @table OUTPUT;

-- Get the Rows property of the AdventureWorks2022 Person.Address table.
EXECUTE @hr = sp_OAGetProperty @object,
    'Databases("AdventureWorks2022").Tables("Person.Address").Rows',
    @rows OUTPUT;

-- Call the CheckTable method to validate the
-- AdventureWorks2022 Person.Address table.
EXECUTE @hr = sp_OAMethod @object,
    'Databases("AdventureWorks2022").Tables("Person.Address").CheckTable',
    @checkoutput OUTPUT;