0

我编写了一个连接到 Oracle 10g 数据库的应用程序。在一台计算机上它可以正常工作,但在另一台计算机上它会出错。两台计算机都不是数据库服务器。

ORA-12154: TNS:could not resolve the connect identifier specified

使用的连接字符串:

private string = "provider=MSDAORA;Data Source=192.168.1.5/MyInstance;User Id=username;Password=password";
private OleDbDataAdapter oda = oda = new OleDbDataAdapter();
private OleDbConnection oracleConnection = new OleDbConnection(conString.ToString());

但是,它工作的计算机是另一个 oracle 实例的数据库服务器!

我的应用程序需要能够从任何计算机连接到 Oracle 实例。

有任何想法吗?

编辑:我试过这个Oracle 连接字符串的确切格式是什么?但无法让任何选项起作用。

编辑:我找到了一个有效的连接字符串。

Provider=OraOLEDB.Oracle; Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.5)(PORT=1521)))(CONNECT_DATA=(SID=MyInstanceID)(SERVER=DEDICATED)));User Id = myusername; Password = mypassword;
4

2 回答 2

0

由于您可以通过 SqlDeveloper 进行连接,因此这应该是与您的连接字符串相关的问题。我不太确定是否有办法获取 SqlDeveloper 的连接字符串。使用connectionstrings.com变体验证您的连接字符串。

于 2013-04-17T14:59:53.463 回答
0

在玩了很多关于以下连接字符串的游戏后,我的工作。

提供者=OraOLEDB.Oracle;数据源=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.5)(PORT=1521)))(CONNECT_DATA=(SID=MyInstanceID)(SERVER=DEDICATED)) );用户 ID = 我的用户名; 密码 = 我的密码;

于 2013-04-17T15:29:49.380 回答