【问题标题】:I am able to connect to Oracle Db using Toad but connection using sqlplus is not working. Getting TNS timeout error我可以使用 Toad 连接到 Oracle Db,但使用 sqlplus 的连接不起作用。获取 TNS 超时错误
【发布时间】:2019-12-10 17:08:13
【问题描述】:

我能够使用带有数据源名称和用户名/密码的 Toad 连接到 Oracle DB。 Oracle 客户端 12 作为 Oracle 驱动程序。 oracle 数据库路径在环境变量中正确设置。 sqlnet.ora、listener.ora 和 tnsnames.ora 存在于ORACLE\ORANT\NETWORK\ADMIN 文件夹中并且配置正确。我尝试使用以下命令在 cmd 提示符下使用 Sqlplus 进行查询:

 connect User/pass@dw-prod.server.int:1527/pdw1s_servicename

我收到 ORA-12170:TNS 连接超时错误。请帮忙。

【问题讨论】:

  • 我们看不到您的数据源是如何配置的,但错误提示您使用了不同的主机名或端口号;或者您可能正在使用具有网络差异的两台不同(真实或虚拟)机器。 (至少您的 SQL*Plus 连接没有使用 TNS 别名,因此 tnsnames.ora 等并不真正相关。)
  • 如果您已经在您的机器上正确配置了 tnsnames.ora 文件,那么您可以使用命令:connect user/password@tns_alias。同样在检查之前,如果您能够通过执行以下命令使用 tns_alias 进行连接:tnsping <tns_alias>
  • 现在我可以使用 ezconnect 连接到数据库。现在如何使用这些信息为 Oracle ODBC 驱动程序配置创建连接字符串。因为 TNS 在我的系统中无法正常工作

标签: oracle database-connection connection-string sqlplus tnsping


【解决方案1】:

在 SQL*Plus 中,只需要使用 TNS 别名进行连接。

连接用户/密码@tns_alias

【讨论】:

  • 现在我可以使用 ezconnect 连接到数据库。现在如何使用这些信息为 Oracle ODBC 驱动程序配置创建连接字符串。因为 TNS 在我的系统中无法正常工作
【解决方案2】:

如果您的密码包含特定字符,例如 @ 或 !可能你得到了这个错误

【讨论】:

    猜你喜欢
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多