OLE-Automatisierungsobjekte in Transact-SQL
Gilt für: SQL Server
Transact-SQL enthält mehrere gespeicherte Systemprozeduren, die Verweise auf OLE-Automatisierungsobjekte in Transact-SQL-Batches, gespeicherten Prozeduren und Triggern ermöglichen. Diese gespeicherten Systemprozeduren werden als erweiterte gespeicherte Prozeduren ausgeführt, und die OLE-Automatisierungsobjekte, die über die gespeicherten Prozeduren ausgeführt werden, werden wie eine erweiterte gespeicherte Prozedur im Adressraum einer Instanz der SQL Server-Datenbank-Engine ausgeführt.
Die gespeicherten OLE-Automatisierungsprozeduren ermöglichen es Transact-SQL-Batches, auf SQL-DMO-Objekte und benutzerdefinierte OLE-Automatisierungsobjekte zu verweisen, wie etwa Objekte, die die IDispatch-Schnittstelle verfügbar machen. Ein benutzerdefinierter In-Process-OLE-Server, der mithilfe von Microsoft Visual Basic erstellt wurde, muss mit einem (mit der Anweisung On Error GoTo angegebenen) Fehlerhandler für die Unterroutinen Class_Initialize und Class_Terminate ausgestattet sein. Nicht behandelte Fehler in den Unterroutinen Class_Initialize und Class_Terminate können unvorhersehbare Fehler verursachen, wie z. B. eine Zugriffsverletzungen in einer Instanz der Datenbank-Engine. Fehlerhandler werden auch für andere Unterroutinen empfohlen.
Der erste Schritt beim Verwenden eines OLE-Automatisierungsobjekts in Transact-SQL ist das Aufrufen der gespeicherten Systemprozedur sp_OACreate
, um eine Instanz des Objekts im Adressraum der Instanz der Datenbank-Engine zu erstellen.
Verwenden Sie nach dem Erstellen einer Instanz des Objekts die folgenden gespeicherten Prozeduren, um mit den Eigenschaften, Methoden und Fehlerinformationen im Zusammenhang mit dem Objekt zu arbeiten:
sp_OAGetProperty
ruft den Wert einer Eigenschaft ab.sp_OASetProperty
legt den Wert einer Eigenschaft fest.sp_OAMethod
ruft eine Methode auf.sp_OAGetErrorInfo
ruft die letzten Fehlerinformationen ab.
Wenn das Objekt nicht mehr benötigt wird, rufen Sie sp_OADestroy
auf, um die Zuordnung der mit sp_OACreate
erstellten Instanz des Objekts aufzuheben.
OLE-Automatisierungsobjekte geben Daten durch Eigenschaftswerte und Methoden zurück. Die Prozeduren sp_OAGetProperty
und sp_OAMethod
geben diese Datenwerte als Resultset zurück.
Der Gültigkeitsbereich eines OLE-Automatisierungsobjekts ist ein Batch. Alle Verweise auf das Objekt müssen in einem einzelnen Batch, einer gespeicherten Prozedur oder einem Trigger enthalten sein.
Beim Verweisen auf Objekte unterstützen die SQL Server-OLE-Automatisierungsobjekte das Traversieren des Objekts, auf das verwiesen wird, auf andere Objekte, die es enthält. Wenn beispielsweise das SQL-DMO-Objekt SQLServer verwendet wird, können Verweise auf Datenbanken und Tabellen erfolgen, die sich auf dem betreffenden Server befinden.
Weitere Informationen
- Objekthierarchiesyntax (Transact-SQL)
- Oberflächenkonfiguration
- sp_OACreate (Transact-SQL)
- sp_OAGetProperty (Transact-SQL)
- sp_OASetProperty (Transact-SQL)
- sp_OAMethod (Transact-SQL)
- sp_OAGetErrorInfo (Transact-SQL)
- sp_OADestroy (Transact-SQL)