oracle连接字符串与C#使用oledb

时间:2012-10-06 02:48:11

标签: c# oracle database-connection oledb

我在C#中开发一个连接到Oracle 10g的应用程序。

当我使用ODP时。净和这个

连接字符串“数据源= Angelo-HP / XE;用户ID = MAPFRE;密码= 123456” 我可以与数据库连接并执行任何操作,

但是当我使用OleDbConnection(System.Data.OleDb)时

connection String:“Provider = OraOLEDB.Oracle; OLEDB.NET = true; PLSQLRSet = true;用户ID = mapfre;密码= 123456;数据源= XE” 我收到了这个错误:

ORA-12154:TNS:无法解析指定的连接标识符

当我尝试使用OleDbConnection的Open()方法时。

我认为不是oracle配置,因为我可以从ODP和sqldeveloper客户端连接。

有什么想法吗?

谢谢,

2 个答案:

答案 0 :(得分:1)

尝试以下链接中的连接字符串:

Oracle Connection String Samples

答案 1 :(得分:0)

如果您的计算机上有多个版本的oracle,则可能会出现此问题。

尝试以下步骤

  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:数据源=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(Host = xx.xx.xx.xx)(Port = xxxx)))(CONNECT_DATA =(SERVICE_NAME = XP)));& #34;)
  5. 另外,请确保您的解决方案是在任何CPU模式下构建的,并确保在App Pool中启用32位是真的