2012-10-06 64 views
3

我正在開發一個連接到Oracle 10g的C#中的應用程序。oracle連接字符串與C#使用oledb

當我使用ODP。網和這個

連接字符串「數據源=安吉洛-HP/XE;用戶ID = MAPFRE;密碼= 123456」 我可以連接並執行與數據庫中的任何動作,

但是當我使用的OleDbConnection(System.Data.OleDb)與此

連接字符串:「提供者= OraOLEDB.Oracle; OLEDB.NET = TRUE; PLSQLRSet = TRUE;用戶ID = MAPFRE;密碼= 123456;數據源= XE」我得到這個錯誤:

ORA-12154:TNS:無法解析指定的連接標識符

當我嘗試從OleDbConnection使用Open()方法。

我認爲不是oracle配置,因爲我可以從ODP和sqldeveloper客戶端連接。

有什麼想法?

感謝,

+0

是否正確有TNS名稱設置你的Oracle客戶端?%OracleHome的%\網絡\ admin – RLS

+1

您的DataSource值在兩個連接字符串示例中都不相同。 –

+0

您是對的,謝謝 –

回答

0

此問題。

請嘗試以下步驟

  1. 去網絡Oracle和開放的tnsnames.ora
  2. 搜索爲你的數據庫名稱(在這種情況下XE)
  3. 這會對您的數據源信息(文件夾EX:(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(Host = xx.xx.xx.xx)(Port = xxxx)))(CONNECT_DATA =(SERVICE_NAME = XP))))
  4. 使用此在連接字符串的數據源字段中。 (EX:Data Source =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(Host = xx.xx.xx.xx)(Port = xxxx)))(CONNECT_DATA =(SERVICE_NAME = XP)));「 )

此外,確保您的解決方案是建立在anyCPU模式,並確保應用程序池啓用32位爲真