Share via


Objekthierarchiesyntax (Transact-SQL)

Der propertyname-Parameter von sp_OAGetProperty und sp_OASetProperty sowie der methodname-Parameter von sp_OAMethod unterstützen eine Objekthierarchiesyntax, die der von Microsoft Visual Basic ähnlich ist. Bei Verwendung dieser speziellen Syntax haben diese Parameter das folgende allgemeine Format.

Syntax

'TraversedObject.PropertyOrMethod'

Argumente

  • TraversedObject
    Ein OLE-Objekt, das in der Hierarchie unterhalb des in der gespeicherten Prozedur angegebenen objecttoken-Objekts steht. Mithilfe der Visual Basic-Syntax geben Sie eine Folge von Auflistungen, Objekteigenschaften und Methoden an, die Objekte zurückgeben. Alle Objektbezeichner in dieser Folge müssen durch Punkte (.) 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. Das Visual Basic-Ausrufezeichen (!) der Syntax für Auflistungen wird nicht unterstützt.

  • PropertyOrMethod
    Der Name einer Eigenschaft oder Methode von TraversedObject.

    Um alle Index- oder Methodenparameter mit den Parametern sp_OAGetProperty, sp_OASetProperty oder sp_OAMethod (einschließlich der Unterstützung für Ausgabeparameter von sp_OAMethod) anzugeben, verwenden Sie die folgende Syntax:

    PropertyOrMethod

    Um alle Index- oder Methodenparameter innerhalb der Klammern anzugeben (dadurch werden alle Index- oder Methodenparameter von sp_OAGetProperty, sp_OASetProperty und sp_OAMethod ignoriert), verwenden Sie die folgende Syntax:

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

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

Hinweise

Falls TraversedObject nicht angegeben ist, ist PropertyOrMethod erforderlich.

Wird PropertyOrMethod nicht angegeben, wird TraversedObject als Objekttoken-Ausgabeparameter von der gespeicherten OLE-Automatisierungsprozedur zurückgegeben. Wird PropertyOrMethod angegeben, wird die Eigenschaft oder Methode von TraversedObject aufgerufen, und der Eigenschaftswert oder der Rückgabewert der Methode wird als Ausgabeparameter von der gespeicherten OLE-Automatisierungsprozedur zurückgegeben.

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

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

Es folgen Beispiele für die Objekthierarchiesyntax mithilfe eines SQLServer-Objekts von SQL-DMO.

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

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

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