ODP.NET Orcale使用

來源:互聯網
上載者:User
安裝,
以前Oracle使用9i版本,因為公司就使用這個版本開發資料庫.
但是Win2008 不相容只能使用oracle 11G 沒這了,使用11G 吧
但是出現了毛病 自己開發Vs2008程式的時候的使用Oracle.DataAccess.dll

因為我使用的是11G的資料庫,所以開發非常的順利,

底層已經開發完成都已經封裝好了,剩下了一點,因為來的別的重要的任務交給同事,繼續開發!

這時候出現了錯誤了:

csharp代碼
  1. Oracle.DataAccess.Client.OracleConnection”的類型初始值設定項引發異常  

 

因為他的機子了裝的是Oracle 9i不相容最新的Oracle.DataAccess.dll !

還有發布時機子基本上都是Oracle 9i的資料庫,只用使用ODP.NET 來實現了,

我認為在每次的時候都安裝下ODP.NET 非常的不方便!而且有可能跟以前的程式產生相容性問題

最後決定使用 免安裝版本的自己整合到Dll裡面

下載的是ODAC1110720Xcopy 版本 從裡面提取了

  1. oci.dll  
  2. ociw32.dll   
  3. Oracle.DataAccess.dll  
  4. orannzsbb11.dll   
  5. oraocci11.dll   
  6. oraociei11.dll 
  7. OraOps11w.dll  

7個檔案 放在一個DLL檔案夾了 裡面Web程式使用的時候

直接引用 Oracle.DataAccess.dll 但必須剩下的6個檔案都拷貝到BIn檔案夾裡面 就直接能使用了

但要注意的是 你使用ODP.NET 就不能使用 tnsnames.ora 來引用

必須手寫串連 格式如下:

xml代碼
  1. Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));  
  2. User Id=myUsername;Password=myPassword;  

還有注意當這些都設定完成後 有可能出現這個錯誤!

csharp代碼
  1. ORA-12505: TNS:listener does not currently know of SID given in connect descriptor  

這時候你必須修改註冊表才成

修改如下:  開啟註冊表

HKEY_LOCAL_MACHINE\Software\Oracle\NLS_LANG

查看 NLS_LANG 的值 是否是NA

如果是 刪除 NLS_LANG 直接重啟電腦就好了

Ok

下載 ODP.NET

聯繫我們

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