程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 用COM自動服務擴展SQL Server功能

用COM自動服務擴展SQL Server功能

編輯:關於SqlServer

SQL Server的T-SQL編程語言在數據存儲和恢復方面功能強大,但在與SQL Server數據庫之外的系統交互方面則功能較弱。然而,我們可以通過SQL Server內置的COM自動操作環境來克服這個限制,SQL Server內置的COM自動操作環境可以使用戶在存儲過程中自動操作COM對象。

在SQL Server 7.0和SQL Server 6.5中提供了7個擴展的存儲過程,可以通過自己開發的或Office等現成的COM對象擴展SQL Server的功能。SQL Server還提供了一種錯誤處理機制,可以把出錯信息寫到SQL代理日志中。利用COM自動化操作服務,還可以把SQL Server與微軟的Exchange Server、Index Server和其他可以通過COM自動化操作服務控制其他軟件進行集SQL Server 6.5引進了對象自動操作環境,它最初被稱作OLE。隨著時間的變遷對象操作的名稱也有所變化,然而與SQL Server 6.5相比,SQL Server 7.0中的自動操作環境沒有改變,因此微軟的文檔中仍然把這一功能稱作OLE操作而不是COM操作,在查閱SQL Server在線手冊(BOL)時尤其需要注意這一點。下面我們來討論如何使用SQL Server的COM自動操作存儲過程以及COM自動操作如何幫助我們解決現實的編程問題。

COM操作的細節

表1列出了SQL Server中的7個用於COM操作的擴展存儲過程。當自動操作一個COM對象時,需要首先通過調用sp_OACreate建立一個COM對象的實例,然後通過一系列的sp_OAGetProperty、sp_OASetProperty和sp_OAMethod調用完成需要完成的任務,在完成對COM對象的操作後,還需要調用sp_OADestroy釋放該對象。在詳細地研究每個儲存過程時,請注意二個很重要的問題。

第一,必須提供調用的所有參數,因為自動操作功能不支持有名參數,如果不能使用一個詳細的參數,需要向它傳遞一個NULL作為占位符;第二,每個調用返回一個整數類型的HRESULT,如果調用成功則該值為0。在後面,我們將討論如何處理返回值為非。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved