Provider for Oracle簡(jiǎn)介
本人很喜歡Oracle,在工作中也很喜歡總結(jié)關(guān)于Provider for Oracle的經(jīng)驗(yàn)教訓(xùn),下面就這個(gè)問(wèn)題來(lái)詳細(xì)說(shuō)說(shuō)吧。在SQL Server 2000建立Oracle連結(jié)服務(wù)器需要額外的組態(tài)工作:必須在客戶(hù)端計(jì)算機(jī)內(nèi)登錄一個(gè)新機(jī)碼(以本例而言,您的SQL Server將是Oracle Server的客戶(hù)端)。
您必須為Windows操作系統(tǒng)與Oracle Server的版本選擇一個(gè)適當(dāng)?shù)牡卿洐C(jī)碼。在C:\program files\common files\system\ole db目錄下可找到適當(dāng)?shù)牡卿洐n(registry files),文件名稱(chēng)以mtx作為開(kāi)頭。雙擊適當(dāng)?shù)牡卿洐n之后加入必要的機(jī)碼值。如果想獲取更多這方面的信息,請(qǐng)查閱SQL Server線上手冊(cè),搜尋:Accessing and Changing Relational Data, Distributed Queries, OLE DB Providers Tested with SQL Server, OLE DB Provider for Oracle, 并查閱有關(guān)Registry Entries之相關(guān)資料。
您可藉由兩道系統(tǒng)預(yù)儲(chǔ)程序來(lái)建立連結(jié)服務(wù)器。一開(kāi)始先執(zhí)行sp_addlinkedserver指定您所選擇的OLE DB provider。下面范例將設(shè)定為Microsoft Data Access for Oracle:
sp_addlinkedserver 'OraDB', 'Oracle', 'MSDAORA', 'Ora817'
或是您可以設(shè)定為Oracle's OLE DB provider:
sp_addlinkedserver 'OraDB', 'Oracle', 'OraOLEDB.Oracle', 'Ora817'
在上述方法中可任選其一。雖然Microsoft官方僅支持且建議使用Microsoft OLE DB Provider for Oracle,但是我接下來(lái)所要示范的INSERT指令中,使用此provider將會(huì)受到某些限制。如果您在使用Microsoft的provider 時(shí)遇到了問(wèn)題,建議您在洽詢(xún)Microsoft的技術(shù)支持前,先試試Provider for Oracle!
下一個(gè)步驟則是執(zhí)行sp_addlinkedsrvlogin 建立一個(gè)連結(jié)服務(wù)器之登入帳號(hào)。SQL Server 與其它Oracle 客戶(hù)端一樣,也是需要帳號(hào)和密碼才能登入Oracle Server。
您有數(shù)種方式可將使用者名稱(chēng)以及密碼提供給sp_addlinkedsrvlogin。在下面第一個(gè)范例中,我已經(jīng)事先建立一個(gè)名為sys(密碼為 change_on_install)之登入帳號(hào),以便SQL Server將帳號(hào)密碼送給Oracle時(shí)就能順利仿真成Oracle的帳號(hào)密碼。在預(yù)設(shè)的情況下,Oracle的sys使用者帳號(hào)其密碼為 change_on_install。
【編輯推薦】