Oracle 什么';“的意思是什么?”;java.sql.SQLRecoverableException:I/O错误:指定了未知主机";如果指定了TNS别名

Oracle 什么';“的意思是什么?”;java.sql.SQLRecoverableException:I/O错误:指定了未知主机";如果指定了TNS别名,oracle,jdbc,Oracle,Jdbc,使用带有TNS别名的Oracle JDBC驱动程序而不是主机:port:SID a'la jdbc:oracle:thin:@TNS_ALIAS 您可能会收到此错误消息 java.sql.SQLRecoverableException: I/O-Error: Unknown host specified 打电话的时候 java.sql.DriverManager.getConnection 但是TNS alias指定的主机名没有问题。遗憾的是,此错误消息没有指出真正的原因: 如果驱动程序找

使用带有TNS别名的Oracle JDBC驱动程序而不是主机:port:SID a'la

jdbc:oracle:thin:@TNS_ALIAS
您可能会收到此错误消息

java.sql.SQLRecoverableException: I/O-Error: Unknown host specified
打电话的时候

java.sql.DriverManager.getConnection

但是TNS alias指定的主机名没有问题。

遗憾的是,此错误消息没有指出真正的原因:
如果驱动程序找不到tnsnames.ora配置文件,则会发生此错误

解决方案

您必须确保在连接之前设置了系统属性“oracle.net.tns_admin”,并指向包含tnsnames.ora的目录。

SQLCL也有同样的问题。在设置TNS_ADMIN之后,它被修复了