-1

1.JAVA_HOME设置为IBM JAVA SDK。2.无法获取oracle数据库连接。尝试在将 Oracle java 设置为 JAVA_HOME 3.Placed ojdbc14.jar 的机器上运行相同的位置在 AppServer/lib 下。

   try {

  connection = DriverManager.getConnection(
      "jdbc:oracle:thin:@[server-ip]:[server-port]/[dbname]", "[uname]", "[pass]");

} catch (SQLException e) {

  System.out.println("Connection Failed! Check output console");
  e.printStackTrace();
  return;

}

if (connection != null) {
  System.out.println("You made it, take control your database now!");
} else {
  System.out.println("Failed to make connection!");
}

我需要做任何设置吗?下面是错误

Oracle JDBC 驱动程序已注册!连接失败!检查输出控制台 java.sql.SQLRecoverableException: IO 错误:网络适配器无法在 oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java) 的 oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:517) 建立连接:557) 在 oracle.jdbc.driver.T4CConnection.(T4CConnection.java:233) 在 oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:29) 在 oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java :556) 在 java.sql.DriverManager.getConnection(DriverManager.java:583) 在 java.sql.DriverManager.getConnection(DriverManager.java:227) 在 OracleJDBCExample.main(OracleJDBCExample.java:29) 原因:oracle.net .ns.NetException: 网络适配器无法在 oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:

谢谢, Kusuma

4

1 回答 1

1

这里有几件事要检查:

  • 你能连接到 [server-ip] 上的端口 [server-port] 吗?(尝试 telnet、netcat 或类似的东西)
  • 侦听器是否接受连接?即 sqlplus username/pw@[server-ip]:[server-port]/[dbname] 是否有效?
  • SID 是否正确(数据库名称)?
  • 您是否尝试过使用服务名称而不是 SID: 连接 jdbc:oracle:thin:@//<server-ip>:<server-port>/<dbname>

另请参阅 Java JDBC - 如何使用服务名称而不是 SID 连接到 Oracle

于 2017-03-12T10:03:12.787 回答