2017-07-04 1 views
0

Ich versuche Oracle XE dazu zu bringen, Verbindungen von JDBC zu akzeptieren. Ich benutze ojdbc6.jar von der XE-Installation (es gibt auch die ojdbc5 und ojdbc6_g jars). Ich habe mit oracle.jdbc.OracleDriver und oracle.jdbc.driver.OracleDriver versucht, die Treiberklasse ist registriert. Ich benutze den Deskriptor: jdbc: oracle: thin: @localhost: 1521: XE.TimeoutException Verbindung zu Oracle XE 11 über JDBC

Ich habe auch versucht, enden mit/XE statt: XE, die ich manchmal gesehen habe. Habe auch den tatsächlichen Hostnamen Kaveri anstelle von localhost versucht.

Ich kann mit sqlplus anmelden, die Datenbank ist geöffnet und der Hauptdienst und TNS-Listener-Dienst werden ausgeführt.

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) 
) 
) 

I

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) 

Alternativ kann ein Java-Programm unserer eigenen Verwendung ich

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 
erhalten

lsnrctl scheint nach einer Weile zu hängen:

> 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))) 

Dies ist eine „frische Neuinstallation“ von Oracle XE auf Windows 10. Zur Vermeidung von Zweifel, ich Firewall auch ausgeschaltet, ohne Wirkung (ich hoffe, !).

Wie debuggt die Verbindung zu Oracle? Vielen Dank.

UPDATE: Ich lag - oder Windows war - wenn es die TNSListener als Lauf auflistet, ist die Situation tatsächlich „Der OracleXETNSListener-Dienst auf dem lokalen Computer gestartet und dann angehalten ...“

Antwort

Verwandte Themen