【问题标题】:Unable to get oracle database connection无法获取oracle数据库连接
【发布时间】:2017-08-01 22:42:46
【问题描述】:

1.JAVA_HOME 设置为 IBM JAVA SDK。 2.无法获取oracle数据库连接。尝试在将 Oracle java 设置为 JAVA_HOME 的机器上运行相同的地方 3.将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.T4CConnection.logon(T4CConnection.java:517) 在 oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java: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:389) 在 oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:431) 在 oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:882) 在 oracle.net.ns.NSProtocol.connect(NSProtocol.java:267) 在 oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1625) 在 oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:365) ... 7 更多原因:java.net.SocketTimeoutException:连接超时 在 java.net.PlainSocketImpl.socketConnect(本机方法) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:370) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:231) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:213) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:404) 在 java.net.Socket.connect(Socket.java:643) 在 oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:147) 在 oracle.net.nt.ConnOption.connect(ConnOption.java:130) 在 oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:367)

谢谢, 草间

【问题讨论】:

标签: jdbc oracle11g websphere-8 ojdbc ibm-jdk


【解决方案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 - How to connect to Oracle using Service Name instead of SID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 2020-02-12
    • 2016-08-29
    • 1970-01-01
    相关资源
    最近更新 更多