【问题标题】:tnsping fails, but can connect to Oracle DB via sqlplustnsping 失败,但可以通过 sqlplus 连接到 Oracle DB
【发布时间】:2011-08-08 01:35:20
【问题描述】:

我在 Windows XP 机器上安装了 Oracle Client v. 11.2.0.1 并设置了 TNS_ADMIN 和 ORACLE_HOME 环境变量。

使用 sqlplus 通过 TNS 别名连接远程数据库可以正常工作:

sqlplus username/password@ALIAS

但是对同一个别名的 tnsping 会导致以下错误:

P:\>tnsping ALIAS

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 07-AUG-2
011 18:20:08

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Message 3511 not found; No message file for product=NETWORK, facility=TNSMessage
 3512 not found; No message file for product=NETWORK, facility=TNSMessage 3513 n
ot found; No message file for product=NETWORK, facility=TNSMessage 3509 not foun
d; No message file for product=NETWORK, facility=TNS

对于类似的问题(即堆栈溢出here),tnsping 至少能够从别名中解析连接字符串。在这种情况下并非如此。这使我相信某些环境变量丢失或指向错误的位置。任何建议将不胜感激。

【问题讨论】:

    标签: oracle11g sqlplus oracleclient tnsnames tns


    【解决方案1】:

    我曾尝试自定义安装 ODBC 驱动程序和 SQL Developer,但遇到了这个问题。 SQL Developer 可以正常连接,但 tnsping 会产生 3511 错误。从另一个安装复制 mesg 文件会产生 3505 错误。

    安装管理员选项对我有用。

    【讨论】:

      【解决方案2】:

      问题是您没有正确安装产品。它找不到它的消息文件,因此您看不到结果。 TNS-3509 表示 tnsping 成功。

      【讨论】:

      • 您介意详细说明“找不到它的消息文件”吗?我运行了 Oracle 通用安装程序,它没有错误地完成。 “没有正确安装产品”似乎是 Oracle 支持论坛中对各种问题的常见回应。我宁愿不再经历整个过程,因为它可能会第二次真正起作用。
      • 消息文件存储在 rdbms/mesg 中。我假设您没有正确设置路径。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      相关资源
      最近更新 更多