Share via


Objekthierarchiesyntax (Transact-SQL)

Gilt für:SQL Server

Der Eigenschaftsname-Parameter und sp_OASetPropertysp_OAGetProperty der Methodennameparameter der sp_OAMethod Unterstützung einer Objekthierarchiesyntax, ähnlich der von Microsoft Visual Basic. Bei Verwendung dieser speziellen Syntax haben diese Parameter das folgende allgemeine Format.

Syntax

TraversedObject.PropertyOrMethod

Argumente

TraversedObject

Ein OLE-Objekt in der Hierarchie unter dem in der gespeicherten Prozedur angegebenen Objekttoken . Verwenden Sie visual Basic-Syntax, um eine Reihe von Auflistungen, Objekteigenschaften und Methoden anzugeben, die Objekte zurückgeben. Jeder Objektbezeichner in der Datenreihe muss durch einen Punkt (.) getrennt werden.

Ein Element der Folge kann der Name einer Auflistung sein. Mit der folgenden Syntax geben Sie eine Auflistung an:

Collection("item")

Die doppelten Anführungszeichen (") sind erforderlich. Die Syntax des Visual Basic-Ausrufezeichens (!) für Auflistungen wird nicht unterstützt.

PropertyOrMethod

Der Name einer Eigenschaft oder Methode des TraversedObject.

Verwenden Sie die folgende Syntax, um alle Index- oder Methodenparameter innerhalb der Klammern anzugeben (wodurch alle Index- oder sp_OAMethod Methodenparameter von sp_OAGetProperty, sp_OASetPropertyoder ignoriert werden) angegeben werden:

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

Die doppelten Anführungszeichen (") sind erforderlich. Alle benannten Parameter müssen nach den Positionsparametern angegeben werden.

Hinweise

Wenn TraversedObject nicht angegeben ist, ist PropertyOrMethod erforderlich.

Wenn PropertyOrMethod nicht angegeben ist, wird das TraversedObject als Objekttokenausgabeparameter aus der gespeicherten OLE-Automatisierungsprozedur zurückgegeben.

Wenn PropertyOrMethod angegeben wird, wird die Eigenschaft oder Methode des TraversedObject aufgerufen. Der Eigenschaftswert oder der Rückgabewert der Methode wird als Ausgabeparameter aus der gespeicherten OLE-Automatisierungsprozedur zurückgegeben.

Wenn ein Element in der TraversedObject-Liste kein OLE-Objekt zurückgibt, wird ein Fehler ausgelöst.

Weitere Informationen zur Visual Basic OLE-Objektsyntax finden Sie in der Visual Basic-Dokumentation.

Weitere Informationen zu HRESULT Rückgabecodes finden Sie unter sp_OACreate (Transact-SQL).

Beispiele

Im Folgenden sind Beispiele für die Objekthierarchiesyntax aufgeführt, die ein SQL-DMO SQLServer-Objekt verwendet.

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

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

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