【问题标题】:ORA-12154 : TNS: connection identifier specified could not be resolvedORA-12154: TNS: 指定的连接标识符无法解析
【发布时间】:2014-11-23 21:29:37
【问题描述】:

我正在执行一个 OracleConnection 来联系一个遥远的数据库,像这样:

OracleConnection conn = new OracleConnection("Data Source=(DESCRIPTION(ADDRESS_LIST=(PROTOCOL=TCP)(HOST=XX.XX.XX.XX)(PORT=XXXX)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXXXX));User Id=XX_XXX_XXX; Password=XXXXXXXXXXX");

隐藏的所有信息都是正确的,并且与Oracle数据库相对应。

当我执行conn.Open(); 时出现错误:ORA-12514: TNS: 指定的连接标识符无法解析

我听说这可能是因为 tnsnames.ORA 我已经复制/粘贴了一位同事的 tnsnames.ORA 到我的,但没有任何改变。

我在很多论坛和网站上搜索过,似乎没有人得到我的答案。

提前感谢您的帮助。

您好,

弗洛。

编辑1:

在命令行上尝试了 SQLplus 连接后,它成功了。 Visual Studio 似乎是问题所在?

【问题讨论】:

  • 监听器启动了吗?运行lsnrctl status,请显示输出。
  • 我猜你的意思是Oracle数据库的监听器?我无法访问它,但我可以打电话询问他们。我很快就会回来提供信息。谢谢。
  • 您需要将此连接字符串添加到您机器上的 TNSnames.ora 文件中。
  • new OracleCollection 你确定。不是new OracleConnection
  • 是的,错过复制它是新的 OracleConnection。我在我的 TNSnames.ora 文件 @Rex 中添加了连接字符串

标签: c# sql oracle oracle11g tnsnames


【解决方案1】:

检查您的连接字符串。您似乎缺少一对括号:

OracleConnection conn = new OracleCollection("Data Source=((DESCRIPTION(ADDRESS_LIST=(PROTOCOL=TCP)(HOST=XX.XX.XX.XX)(PORT=XXXX)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXXXX)));User Id=XX_XXX_XXX; Password=XXXXXXXXXXX");

【讨论】:

  • 我认为这是一次失败的重写,我没有复制粘贴。我检查一下。
  • 这不是失败,我真的忘记了一对括号。但它并没有改变什么。我仍然有错误。
  • 再看一眼:您还缺少描述关键字后的等号:DESCRIPTION=(...
  • 我尝试使用符号“=”,但现在出现了不同的错误:ORA-12533 TNS illegal ADDRESS parameter
  • 我现在有一个不同的错误。我接受您的回答并创建一个包含新错误、我所做的更改等的新主题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-06
  • 2016-11-25
  • 1970-01-01
相关资源
最近更新 更多