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 von 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 von 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_OACreateerstellten 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.

Siehe auch

Nächste Schritte