Sintassi della gerarchia degli oggetti (Transact-SQL)
Il parametro propertyname di sp_OAGetProperty e sp_OASetProperty e il parametro methodname di sp_OAMethod supportano una sintassi della gerarchia degli oggetti simile a quella valida per MicrosoftVisual Basic. Quando viene adottata questa sintassi speciale, i parametri sopraindicati seguono il seguente formato generale.
Sintassi
'TraversedObject.PropertyOrMethod'
Argomenti
TraversedObject
Oggetto OLE della gerarchia sotto il parametro objecttoken specificato nella stored procedure. Utilizzare la sintassi di Visual Basic per specificare una serie di raccolte, proprietà oggetto e metodi che restituiscono oggetti. I vari identificatori di oggetti della serie devono essere separati da un punto (.).Un elemento della serie potrebbe essere il nome di una raccolta. Per specificare una raccolta, utilizzare la seguente sintassi:
Collection("item")
Le virgolette doppie (") sono obbligatorie. La sintassi di Visual Basic con il punto esclamativo (!) non è supportata per le raccolte.
PropertyOrMethod
Nome di una proprietà o di un metodo del parametro TraversedObject.Per specificare tutti i parametri indice o metodo tramite i parametri di sp_OAGetProperty, sp_OASetProperty o sp_OAMethod (compreso il supporto per i parametri di output di sp_OAMethod), utilizzare la sintassi seguente:
PropertyOrMethod
Per specificare tutti i parametri indice o metodo tra parentesi e ignorare di conseguenza tutti i parametri indice o metodo di sp_OAGetProperty, sp_OASetProperty o sp_OAMethod, utilizzare la sintassi seguente:
PropertyOrMethod**(** [ ParameterName**:=** ] "parameter" [ , ... ] )
Le virgolette doppie (") sono obbligatorie. Tutti i parametri denominati devono essere specificati dopo tutti i parametri posizionali.
Osservazioni
Se TraversedObject viene omesso, PropertyOrMethod è obbligatorio.
Se PropertyOrMethod viene omesso, TraversedObject viene restituito come token di oggetto nel parametro di output dalla stored procedure di automazione OLE. S si specifica PropertyOrMethod, viene richiamato la proprietà o il metodo di TraversedObject e il valore della proprietà o il valore restituito dal metodo viene restituito come parametro di output dalla stored procedure di automazione OLE.
Se un elemento dell'elenco TraversedObject non restituisce un oggetto OLE, viene generato un errore.
Per ulteriori informazioni sulla sintassi degli oggetti OLE di Visual Basic, consultare la documentazione di Visual Basic.
Per ulteriori informazioni sui codici restituiti HRESULT, vedere sp_OACreate (Transact-SQL).
Esempi
Nei seguenti esempi di sintassi della gerarchica degli oggetti viene utilizzato un oggetto SQL-DMO SQLServer.
-- Get the AdventureWorks Person.Address Table object.
EXEC @hr = sp_OAGetProperty @object,
'Databases("AdventureWorks").Tables("Person.Address")',
@table OUT
-- Get the Rows property of the AdventureWorks Person.Address table.
EXEC @hr = sp_OAGetProperty @object,
'Databases("AdventureWorks").Tables("Person.Address").Rows',
@rows OUT
-- Call the CheckTable method to validate the
-- AdventureWorks Person.Address table.
EXEC @hr = sp_OAMethod @object,
'Databases("AdventureWorks").Tables("Person.Address").CheckTable',
@checkoutput OUT
Vedere anche