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

來源:互聯網
上載者:User

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。在後面,我們將討論如何處理傳回值為非。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.