Condividi tramite


Oggetti di automazione OLE in Transact-SQL

Transact-SQL include varie stored procedure di sistema che consentono di fare riferimento agli oggetti di automazione OLE in batch, stored procedure e trigger Transact-SQL. Queste stored procedure di sistema vengono eseguite come stored procedure estese e gli oggetti di automazione OLE eseguiti tramite tali stored procedure vengono eseguiti nello spazio degli indirizzi di un'istanza del Motore di database di SQL Server esattamente come le stored procedure estese.

Le stored procedure di automazione OLE consentono di fare riferimento in batch Transact-SQL a oggetti SQL-DMO e a oggetti di automazione OLE personalizzati, ad esempio gli oggetti che espongono l'interfaccia IDispatch. Un server OLE in-process personalizzato creato in MicrosoftVisual Basic deve includere un gestore degli errori, specificato con l'istruzione On Error GoTo, per le subroutine Class_Initialize e Class_Terminate. Gli errori non gestiti nelle subroutine Class_Initialize e Class_Terminate possono provocare errori imprevedibili, ad esempio una violazione dell'accesso in un'istanza del Motore di database. È consigliabile disporre inoltre dei gestori degli errori per altre subroutine.

Per utilizzare un oggetto di automazione OLE in Transact-SQL è innanzitutto necessario chiamare la stored procedure di sistema sp_OACreate per creare un'istanza dell'oggetto nello spazio degli indirizzi del Motore di database.

Richiamare quindi le stored procedure seguenti per utilizzare le proprietà, i metodi e le informazioni sugli errori dell'oggetto:

  • sp_OAGetProperty recupera il valore di una proprietà.

  • sp_OASetProperty imposta il valore di una proprietà.

  • sp_OAMethod chiama un metodo.

  • sp_OAGetErrorInfo recupera informazioni sugli errori più recenti.

Quando l'oggetto non è più necessario, chiamare sp_OADestroy per deallocare l'istanza dell'oggetto creata con sp_OACreate.

Gli oggetti di automazione OLE restituiscono dati tramite i valori di proprietà e metodi. Le stored procedure sp_OAGetProperty e sp_OAMethod restituiscono questi valori sotto forma di set di risultati.

L'ambito di un oggetto di automazione OLE è il batch. Tutti i riferimenti all'oggetto devono essere inclusi in un unico batch, stored procedure o trigger.

Gli oggetti di automazione OLE di SQL Server supportano l'attraversamento dell'oggetto a cui fanno riferimento per accedere agli altri oggetti che contiene. Se, ad esempio, si utilizza l'oggetto SQL-DMO SQLServer, è possibile fare riferimento ai database e alle tabelle disponibili in tale server.