【问题标题】:TimeoutException connecting to Oracle XE 11 via JDBCTimeoutException 通过 JDBC 连接到 Oracle XE 11
【发布时间】:2017-12-08 05:06:40
【问题描述】:

我正在尝试哄骗 Oracle XE 接受来自 JDBC 的连接。我使用 XE 安装中的 ojdbc6.jar(也有 ojdbc5 和 ojdbc6_g jar)。我尝试过使用 oracle.jdbc.OracleDriver 和 oracle.jdbc.driver.OracleDriver,驱动程序类已注册。我使用描述符:jdbc:oracle:thin:@localhost:1521:XE。

我也尝试过以 /XE 而不是 :XE 结尾,我有时会看到这种情况。还尝试了实际的主机名 Kaveri 而不是 localhost。

我可以用sqlplus登录,数据库已打开,主服务和TNS监听服务正在运行。

listener.ora:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME = E:\Data\OracleXE\app\oracle\product\11.2.0\server)
  (PROGRAM = extproc)
)
(SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = E:\Data\OracleXE\app\oracle\product\11.2.0\server)
  (PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  (ADDRESS = (PROTOCOL = TCP)(HOST = Kaveri)(PORT = 1521))
)
)

DEFAULT_SERVICE_LISTENER = (XE)

tsnames.ora:

XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Kaveri)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = XE)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
  (SID = PLSExtProc)
  (PRESENTATION = RO)
)
)

ORACLR_CONNECTION_DATA = 
(DESCRIPTION = 
(ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
) 
(CONNECT_DATA = 
  (SID = CLRExtProc) 
  (PRESENTATION = RO) 
) 
) 

我明白了

java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(Unknown Source)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

或者使用我们自己的java程序我得到

java.sql.SQLRecoverableException: IO Error: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
...
Caused by: oracle.net.ns.NetException: Socket read timed out
at oracle.net.ns.Packet.receive(Packet.java:350)
at oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:153)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:263)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
... 39 more

lsnrctl 似乎过了一会儿就挂了:

> lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.2.0 - Production on 04-JUL-2017 
17:29:09

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12560: TNS:protocol adapter error
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Kaveri)(PORT=1521)))

这是在 Windows 10 上“重新安装”Oracle XE。为免生疑问,我也关闭了防火墙,但没有任何效果(我希望!)。

如何调试连接到 Oracle?谢谢。

更新:我在撒谎 - 或者 Windows 是 - 当它列出 TNSListener 正在运行时,情况实际上是“本地计算机上的 OracleXETNSListener 服务启动然后停止......”

【问题讨论】:

    标签: jdbc windows-10 ojdbc oracle-xe


    【解决方案1】:

    如果我在配置文件中使用 localhost 而不是 Kaveri,那么侦听器会保持正常运行(为什么,因为主机名是 Kaveri..?)

    在那之后Bob 1174's answer here is what was needed

    【讨论】:

      猜你喜欢
      • 2015-03-12
      • 2018-06-17
      • 2014-11-27
      • 2023-03-05
      • 1970-01-01
      • 2013-09-29
      • 2015-02-26
      • 1970-01-01
      • 2013-02-07
      相关资源
      最近更新 更多