Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CentOS linux 6上的oracle 11g r2:读取调用得到负1_Java_Oracle_Jdbc_Connection - Fatal编程技术网

Java CentOS linux 6上的oracle 11g r2:读取调用得到负1

Java CentOS linux 6上的oracle 11g r2:读取调用得到负1,java,oracle,jdbc,connection,Java,Oracle,Jdbc,Connection,尝试连接到本地同一计算机数据库oracle.net.ns.NetException时出错:从读取调用中得到负1 这是密码 OracleDataSource ods = new OracleDataSource(); String jdbcURL = "jdbc:oracle:thin:username/userpass@mylinux:1522:sid"; ods.setURL(jdbcURL); Connection conn = ods.getConnecti

尝试连接到本地同一计算机数据库oracle.net.ns.NetException时出错:从读取调用中得到负1

这是密码

    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:我正在获取以下异常堆栈跟踪

主线程java.sql.SQLRecoverableException中的异常:IO错误:从读取调用中得到负1 位于oracle.jdbc.driver.T4CConnection.logonT4CConnection.java:419 位于oracle.jdbc.driver.PhysicalConnection.PhysicalConnection.java:536 位于oracle.jdbc.driver.T4CConnection.T4CConnection.java:228 位于oracle.jdbc.driver.T4CDriverExtension.getConnection4CDriverExtension.java:32 位于oracle.jdbc.driver.OracleDriver.connectOracleDriver.java:521 位于oracle.jdbc.pool.OracleDataSource.getPhysicalConnectionOracleDataSource.java:280 位于oracle.jdbc.pool.OracleDataSource.getConnectionOracleDataSource.java:207 位于oracle.jdbc.pool.OracleDataSource.getConnectionOracleDataSource.java:157 位于TestOraConn.main TestOraConn.java:17 原因:oracle.net.ns.NetException:从读取调用中得到负1 位于oracle.net.ns.Packet.receivePacket.java:286 位于oracle.net.ns.NSProtocol.connectNSProtocol.java:287 位于oracle.jdbc.driver.T4CConnection.connectT4CConnection.java:1054 位于oracle.jdbc.driver.T4CConnection.logonT4CConnection.java:308 ... 8个以上

更新2:


您是从getConnection调用中获得异常,还是从以后使用该连接中获得异常?整个堆栈跟踪以及带有行号的相关代码都很有用。作为sid,您需要的是服务名称,但如果您正在使用与Easy Connect相同的SQLPlus格式,或者*仅使用该凭据,则这是正确的?。您也可以尝试而不是使用setURL来查看这是否缩小了问题的范围。添加了一个带有完整stacktrace的更新。仅在getConnection调用中出现异常。我尝试了设置属性提示。在oracle数据源上调用getConnection时也会出现相同的结果:-来自sqlplus和Java程序的连接来自同一主机?两者都使用相同的DNS名称=myhost?我打赌数据包离开主机,防火墙/有状态数据包过滤器/负载平衡器(两者之间的任何一个)会切断连接,这是从读取的-1指示的
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