我在尝试连接到本地(同一台计算机)数据库时遇到错误“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连接得很好 .

UPDATE 1 :我得到以下异常堆栈跟踪

线程“main”中的异常java.sql.SQLRecoverableException:IO错误:在oracle.jdbc.driver.PhysicalConnection上的oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)的读取调用中减去了一个 . (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)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:在oracle.net.ns.Packet.receive(Packet.java:)的读取调用中减去了一个286)在oracle.jdbc.driver.T的oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054)的oracle.net.ns.NSProtocol.connect(NSProtocol.java:287) 4CConnection.logon(T4CConnection.java:308)......还有8个

UPDATE 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