Transact-SQL 中的 OLE Automation 物件

適用於:SQL Server

Transact-SQL 包含多個系統預存程序,可讓您在 Transact-SQL 批次、預存程序與觸發程序中參考 OLE Automation 物件。 這些系統預存程序以擴充預存程序來執行,而透過預存程序執行的 OLE Automation 物件在 SQL Server 資料庫引擎執行個體的位址空間內的執行方式與擴充預存程序的執行方式相同。

OLE Automation 預存程序可讓 Transact-SQL 批次參考 SQL-DMO 物件和自訂 OLE Automation 物件,例如公開 IDispatch 介面的物件。 使用 Microsoft Visual Basic 所建立的自訂、內含式 OLE 伺服器必須具有 Class_InitializeClass_Terminate 副程式的錯誤處理常式 (請使用 On Error GoTo 陳述式來指定此錯誤處理常式)。 Class_InitializeClass_Terminate 副程式中的未處理錯誤將導致未預期的錯誤,例如資料庫引擎執行個體中的存取違規。 對於其他的副程式,我們也建議您使用錯誤處理常式。

在 Transact-SQL 中使用 OLE Automation 物件的第一個步驟是呼叫 sp_OACreate 系統預存程序,以便在資料庫引擎執行個體的位址空間中建立物件的執行個體。

在建立物件的執行個體之後,請呼叫下列預存程序來使用物件的相關屬性、方法與錯誤資訊:

  • sp_OAGetProperty 會取得屬性的值。

  • sp_OASetProperty 會設定屬性的值。

  • sp_OAMethod 會呼叫方法。

  • sp_OAGetErrorInfo 取得最近的錯誤資訊。

當您不再需要物件時,可呼叫 sp_OADestroy 來將使用 sp_OACreate所建立的物件執行個體取消配置。

OLE Automation 物件會透過屬性值和方法傳回資料。 sp_OAGetPropertysp_OAMethod 程序會以結果集形式傳回這些資料值。

OLE Automation 物件的範圍是一個批次。 該物件的所有參考都必須包含於一個批次、預存程序或觸發程序內。

在參考物件時,SQL Server OLE Automation 物件支援將參考的物件跨越其所包含的其他物件。 例如,在使用 SQL-DMO SQLServer 物件時,您可參考至該伺服器所包含的資料庫與資料表。

另請參閱

下一步