database - Ora 12154 错误

标签 database oracle ora-12541 ora-12154

我最近在我的一台开发服务器上部署了一个 Web 应用程序。我正在使用 oracle、asp.net 和 c#。当我在服务器上运行应用程序时一切正常,但是当我尝试在服务器外运行应用程序时(例如使用我的电脑)我得到这个错误:

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

如果我在我的电脑上使用 visual studio 运行该应用程序,它工作正常。

Oracle 安装在服务器“A”中,应用程序在服务器“B”中。服务器“A”在一个域中,服务器“B”在另一个域中。我的电脑与服务器“A”在同一个域中。

在我的电脑中,我可以在 C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 中找到文件 tnsname.ora,但在服务器“B”中我无法在任何地方找到它

有什么想法吗? 感谢您的帮助。

最佳答案

你试过了吗? (来自http://ora-12154.ora-code.com/)

ORA-12154: TNS: 无法解析指定的连接标识符
原因:使用连接标识符请求与数据库或其他服务的连接,并且无法使用配置的命名方法之一将指定的连接标识符解析为连接描述符。例如,如果使用的连接标识符类型是网络服务名称,则无法在命名方法存储库中找到网络服务名称,或者无法找到或访问存储库。
行动: - 如果您使用本地命名(TNSNAMES.ORA 文件):

  • 确保“TNSNAMES”被列为 Oracle Net 配置文件 (SQLNET.ORA) 中 NAMES.DIRECTORY_PATH 参数的值之一

  • 验证 TNSNAMES.ORA 文件是否存在、位于正确的目录中并且可以访问。

  • 检查 TNSNAMES.ORA 文件中是否存在用作连接标识符的网络服务名称。

  • 确保 TNSNAMES.ORA 文件中的任何地方都没有语法错误。查找不匹配的括号或杂散字符。 TNSNAMES.ORA 文件中的错误可能使其无法使用。

  • 如果您使用目录命名:

  • 验证“LDAP”是否列为 Oracle Net 配置文件 (SQLNET.ORA) 中 NAMES.DIRETORY_PATH 参数的值之一。

  • 验证 LDAP 目录服务器已启动并且可以访问。

  • 验证目录中是否配置了用作连接标识符的网络服务名称或数据库名称。

  • 通过将完全限定的网络服务名称或完整的 LDAP DN 指定为连接标识符来验证所使用的默认上下文是否正确

  • 如果您使用的是简单连接命名:

  • 验证“EZCONNECT”是否列为 Oracle Net 配置文件 (SQLNET.ORA) 中 NAMES.DIRETORY_PATH 参数的值之一。

  • 确保指定的主机、端口和服务名称正确。

  • 尝试将连接标识符括在引号中。有关命名的更多信息,请参阅 Oracle 网络服务管理员指南或 Oracle 操作系统特定指南。

关于database - Ora 12154 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/162762/

相关文章:

database - 如何有效地搜索大型数据集的子字符串?

sql - 关于sql group by的一个问题

database - 最适合开发人员的数据库书籍

node.js - MongoDB。我应该为我的项目选择哪种数据模型?

php - 迪尔德 : lazy symbol binding failed for php oic8 on Apple M1

mysql - 将普通查询转换为子查询会得到不同的结果

Java 1.7 + TC 服务器上的 Oracle UCP 高 CPU 使用率

java - 从 Oracle DB 触发器发出 http 请求时出错 - java.sql.SQLException : ORA-29273: HTTP request failed ORA-12541: TNS:no listener

ruby-on-rails - 将Rails与Oracle一起使用时,为什么会出现“无监听器”错误?