64位程式,利用ADO串連Oracle資料庫

來源:互聯網
上載者:User

標籤:

  

剛好手頭項目解決了ADO串連Oracle資料庫的問題,記錄下來,防止忘記。

項目情況:用32位環境完成演算法動態庫,結果後來需要升級到64位環境,由64位的軟體來調用,則在64位設定下產生演算法動態庫,探索資料庫串連失敗。資料庫使用的是Oracle10,而串連技術使用的是比較熟悉的ADO。

1.首先懷疑的是ADO先行編譯所引用的msado15.dll版本問題,找來了64位msado15.dll,一樣重現問題。

2.懷疑是串連語句依靠的\network\admin\tnsnames.ora檔案不對,所以在程式中寫死IP和連接埠,仍然重現問題。

其間忙於其他項目,只有用32位代替跑著,將其磕置。結果意外發現了64位在兩位同事的電腦上能順利運行,但在有些電腦上又出問題。所以確定為系統內容的問題,最終定位到ODAC。

 

問題最後解決了,但是還是未能完全脫離配置

1.串連語句寫成這樣,避免依賴tnsnames.ora檔案

Provider=OraOLEDB.Oracle.1;Password=密碼;Persist Security Info=True;User ID=使用者名稱;\
Data Source=\"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521)) )(CONNECT_DATA = (SID = 資料庫)))\"

其中可以將使用者名稱、密碼、資料庫ID、IP、連接埠這些提出來寫成設定檔,方便更改。

2.安裝對應的ODAC,64位的http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html。相對來說,32位的ODAC是EXE安裝檔案,簡單粗暴,直接自動安裝好一切,所以當時沒有出問題。64位的ODAC驅動是由Oracle官方提供的XCOPY版本,安裝過程參考微軟官方http://support2.microsoft.com/kb/2831123/zh-tw。

(1)解壓XCOPY

(2)用命令列CD到(1)的目錄下

(3)命令列運行其中的install.bat檔案:install.bat all c:\oracle\ODAC_64 odac

(4)C盤出現目錄c:\oracle\ODAC_64,進行系統內容配置:path裡面增加C:\oracle\ODAC_64和C:\oracle\ODAC_64\bin

(5)完成

 

最後,這樣的配置在一台機器上出現了報錯的問題,發現是由於該機器上安裝的東西過多,path環境混亂,Oracle版本指向不明,所以將C:\oracle\ODAC_64和C:\oracle\ODAC_64\bin這個路徑放到path屬性的最前面即可。

64位程式,利用ADO串連Oracle資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.