Partager via


Syntaxe de la hiérarchie d’objets (Transact-SQL)

S'applique à : SQL Server

Le paramètre propertyname et sp_OAGetProperty sp_OASetProperty le paramètre methodname de sp_OAMethod prise en charge d’une syntaxe de hiérarchie d’objets similaire à celle de Microsoft Visual Basic. Lorsque vous utilisez cette syntaxe spéciale, ces paramètres ont la forme générale suivante.

Syntaxe

TraversedObject.PropertyOrMethod

Arguments

TraversedObject

Objet OLE dans la hiérarchie sous l’objettoken spécifié dans la procédure stockée. Utilisez la syntaxe Visual Basic pour spécifier une série de collections, de propriétés d’objet et de méthodes qui retournent des objets. Chaque spécificateur d’objet de la série doit être séparé par un point (.).

Un élément dans la série peut être le nom d'une collection. Utilisez la syntaxe suivante pour indiquer une collection :

Collection("item")

Les guillemets doubles (") sont requis. La syntaxe du point d’exclamation (!) Visual Basic pour les collections n’est pas prise en charge.

PropertyOrMethod

Nom d’une propriété ou d’une méthode du TraversedObject.

Pour spécifier tous les paramètres d’index ou de méthode entre parenthèses (à l’origine de tous les paramètres d’index ou de méthode , sp_OAGetPropertysp_OASetPropertyou sp_OAMethod à ignorer) utilisez la syntaxe suivante :

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

Les guillemets doubles (") sont requis. Tous les paramètres nommés doivent être spécifiés après tous les paramètres positionnels.

Notes

Si TraversedObject n’est pas spécifié, PropertyOrMethod est requis.

Si PropertyOrMethod n’est pas spécifié, le TraversedObject est retourné en tant que paramètre de sortie de jeton d’objet à partir de la procédure stockée OLE Automation.

Si PropertyOrMethod est spécifié, la propriété ou la méthode du TraversedObject est appelée. La valeur de propriété ou la valeur de retour de méthode est retournée en tant que paramètre de sortie de la procédure stockée OLE Automation.

Si un élément de la liste TraversedObject ne retourne pas d’objet OLE, une erreur est générée.

Pour plus d’informations sur la syntaxe de l’objet OLE Visual Basic, consultez la documentation Visual Basic.

Pour plus d’informations sur les HRESULT codes de retour, consultez sp_OACreate.

Exemples

Voici des exemples de syntaxe de hiérarchie d’objets qui utilisent un objet SQL-DMO SQLServer.

-- 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