我在尝试连接到本地(同一台计算机)数据库时遇到错误“oracle.net.ns.NetException:从读取调用中减去了一个”。
这是代码
OracleDataSource ods = new OracleDataSource();
String jdbcURL = "jdbc:oracle:thin:username/userpass@mylinux:1522:sid";
ods.setURL(jdbcURL);
Connection conn = ods.getConnection();
Caused by: oracle.net.ns.NetException: Got minus one from a read call
at oracle.net.ns.Packet.receive(Packet.java:286)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:287)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308)
... 8 more
我在这里缺少什么?我在网上的简短搜索并未发现任何有用的信息。我正在将ojdbc6.jar与测试应用程序链接。
我可以使用上述凭据从sqlplus连接得很好。
更新1 :我收到以下异常堆栈跟踪
线程“main”中的异常java.sql.SQLRecoverableException:IO错误:从读取调用中减去1 在oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419) at oracle.jdbc.driver.PhysicalConnection。(PhysicalConnection.java:536) 在oracle.jdbc.driver.T4CConnection。(T4CConnection.java:228) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:280) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:207) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:157) 在TestOraConn.main(TestOraConn.java:17) 引起:oracle.net.ns.NetException:从读取调用中减去一个 at oracle.net.ns.Packet.receive(Packet.java:286) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:287) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054) 在oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308) ......还有8个
更新2 :
lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 28-MAY-2013 22:34:16
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused