共用方式為


Transact-SQL 中的 OLE Automation 物件

Transact-SQL 包含數個系統預存程式,可讓 OLE Automation 物件在 Transact-SQL 批次、預存程式和觸發程式中參考。 這些系統預存程式會以擴充預存程式的形式執行,以及透過預存程序執行的 OLE Automation 物件,會以擴充預存程式執行的方式,在 SQL Server Database Engine 實例的地址空間中執行。

OLE Automation 預存程式可讓 Transact-SQL 批次參考 SQL-DMO 物件和自定義 OLE Automation 物件,例如公開 IDispatch 介面的物件。 使用 Microsoft Visual Basic 所建立的自定義同進程 OLE 伺服器,必須為Class_InitializeClass_Terminate子程式指定錯誤處理程式(以 On Error GoTo 語句指定)。 Class_InitializeClass_Terminate子程式的未處理錯誤可能會導致無法預測的錯誤,例如 Database Engine 實例中的存取違規。 也建議使用其他子程式的錯誤處理程式。

在 Transact-SQL 中使用 OLE Automation 物件的第一個步驟是呼叫 sp_OACreate 系統預存程式,以在 Database Engine 實例的地址空間中建立 物件的實例。

建立物件的實例之後,請呼叫下列預存程式來處理與對象相關的屬性、方法和錯誤資訊:

  • 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 物件時,可以參考該伺服器上所包含的資料庫和數據表。

物件階層語法 (Transact-SQL)

表面積配置

Ole Automation Procedures 伺服器組態選項

sp_OACreate (Transact-SQL)

sp_OAGetProperty (Transact-SQL)

sp_OASetProperty (Transact-SQL)

sp_OAMethod (Transact-SQL)

sp_OAGetErrorInfo (Transact-SQL)

sp_OADestroy (Transact-SQL)