Error "java.sql.SQLRecoverableException: No more data to read from socket"

Hi,
We are getting the error "java.sql.SQLRecoverableException: No more data to read from socket" while we do a check print for our Disaster Recovery (DR) server. It was working fine in the production. There is no issue with the connectivity or printer as we are able to print to the printer.
Any input on this would be highly appreciated.
Thanks in Advance.

Please post the details of the application release, database version and OS.
We are getting the error "java.sql.SQLRecoverableException: No more data to read from socket" while we do a check print for our Disaster Recovery (DR) server. It was working fine in the production. There is no issue with the connectivity or printer as we are able to print to the printer.Please see these docs.
Oracle Applications 12.1.3 Upgrade Patch 9239090 Failed While Invoking Utility Wfxload - java.sql.SQLRecoverableException: No more data to read from socket [ID 1193744.1]
Error While Creating PO From Sourcing: Java.Sql.SQLRecoverableException: No More Data To Read From Socket [ID 1356792.1]
Adgendbc Fails With Database Connection Failure [ID 1302708.1]
Getting Exception Error While Approving Objectives From Manager Self Service [ID 1331535.1]
"No more data to read from socket" Exception when Running Create Settlement Batches [ID 1437170.1]
Thanks,
Hussein

Similar Messages

  • Java.sql.SQLException: No more data to read from socket

    Hello,
    we're now facing some strange problem which is probably caused by some malfunctioned connections being present in connection pool. The MGP process is failing for some clients with following error message. During the MGP process, some users are processed without any problems and some encounter this exception. I tried to restart the DB and both OL servers (we have 2 OL servers, on one of them is running MGP), but it didn't help.
    Some time before I restarted the servers, we were also occasionally facing "Server connections exceeded" error message, but I don't think this is relevant...
    We're using 10gR2 OL servers and 10gR2 RDBMS.
    Any ideas what could be wrong?
    <pre>
    Applied Record     Counts:
    Insert Count     = 0
    Update Count     = 0
    Delete Count     = 0
    Composed PubItems
    (<PubItem Name>, <Duration     in Milli Seconds>):
    JPOCZ_C$ALL_CLIENTS,16
    JPOCZ_PA_STATESTOCKSUM,1484
    JPOCZ_PA_MEMOS,31
    JPOCZ_TASKMOTYPES,47
    JPOCZ_PA_VISITDETAILS,16
    JPOCZ_PA_STATESTOCK,859
    JPOCZ_DISTRIBS,47
    JPOCZ_ITEMPRICING,438
    Compose Error:
    java.sql.SQLException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:985)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
         at oracle.jdbc.ttc7.Ocommoncall.receive(Ocommoncall.java:108)
         at oracle.jdbc.ttc7.TTC7Protocol.rollback(TTC7Protocol.java:427)
         at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1410)
         at oracle.lite.sync.JupConnection.rollback(Unknown Source)
         at oracle.lite.sync.MGP$MGPG.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    </pre>

    I'm not using localhost, but the host name. We just today notified some other network problems on this server and discovered there're 2 network cards - one of them which wasn't connected was configured for DHCP and the other one was configured properly with fixed IP address. We disabled the disconnected network card and it looks like the problems with other applications is solved so we'll se if the Mobile Server is also cured...

  • ORACLE JDBC : java.sql.SQLException: No more data to read from socket

    I have a problem with JDBC, SUN JavaWebServer2.0, and ORACLE: java.sql.SQLException: No more data to read from socket
    On JWS2.0 + JDBC 1.22 ORACLE Thin Driver (classes111),
    SunOS 5.7 Ultra-1 (JDBC-client), connecting to ORACLE 7.3.4.5.0:
    after some successful selects, after about 1 minute, the following exception is thrown:
    java.sql.SQLException: No more data to read from socket
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at java.sql.SQLException.<init>(Compiled Code)
    at oracle.jdbc.dbaccess.DBError.check_error(Compiled Code)
    at oracle.jdbc.ttc7.TTCInBuffer.getByte(Compiled Code)
    at oracle.jdbc.ttc7.TTIMsg.unmarshalSB1(Compiled Code)
    at oracle.jdbc.ttc7.Oall7.receive(Compiled Code)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(Compiled Code)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(Compiled Code)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(Compiled Code)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(Compiled Code)
    at oracle.jdbc.driver.OracleStatement.doExecute(Compiled Code)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Compiled Code)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(Compiled Code)
    The same application works fine on Win NT4 (JDBC) with ORACLE 7.3.3.0.0
    Can anybody solve this problem? Any ideas?
    null

    Reason: the ORACLE server process crashes (sometimes), and the result is the "empty"
    socket.

  • PL-SQL JDBC -- No more data to read from socket Exception

    I have a PL/SQL stored procedure which takes CURSOR as IN parameter.
    I want to execute this procedure by passing a ResultSet object into it.
    Below attached is the piece of code I am using.
    When I execute I am getting the following exception ,
    Thanks in advance
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:857)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:731)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:690)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:373)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
    va:1446)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
    a:1371)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
    nt.java:1900)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
    edStatement.java:363)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
    ement.java:407)
    at ECTTestClass.test16(ECTTestClass.java:500)
    at ECTTestClass.main(ECTTestClass.java:51)
    Statement st = con.createStatement();
    String qry = "SELECT * FROM TAB1";
    ResultSet rs = st.executeQuery(qry);
    int cntr = 0;
    while(rs.next()){
    System.out.println("USER ID " + rs.getString("USER_ID"));
    System.out.println("LICENSE " + rs.getString("LICENSE"));
    cntr++;
    System.out.println("No of rows " + cntr);
    CallableStatement cst = con.prepareCall("{call PREM_TEMP.PREM_PROC(?)}");
    cst.setObject(1,rs,OracleTypes.CURSOR);
    System.out.println("set object...... successful");
    cst.execute();
    st.close();
    cst.close();
    con.close();

    I have a PL/SQL stored procedure which takes CURSOR as IN parameter.
    I want to execute this procedure by passing a ResultSet object into it.
    Below attached is the piece of code I am using.
    When I execute I am getting the following exception ,
    Thanks in advance
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:857)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:731)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:690)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:373)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
    va:1446)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
    a:1371)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
    nt.java:1900)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
    edStatement.java:363)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStat
    ement.java:407)
    at ECTTestClass.test16(ECTTestClass.java:500)
    at ECTTestClass.main(ECTTestClass.java:51)
    Statement st = con.createStatement();
    String qry = "SELECT * FROM TAB1";
    ResultSet rs = st.executeQuery(qry);
    int cntr = 0;
    while(rs.next()){
    System.out.println("USER ID " + rs.getString("USER_ID"));
    System.out.println("LICENSE " + rs.getString("LICENSE"));
    cntr++;
    System.out.println("No of rows " + cntr);
    CallableStatement cst = con.prepareCall("{call PREM_TEMP.PREM_PROC(?)}");
    cst.setObject(1,rs,OracleTypes.CURSOR);
    System.out.println("set object...... successful");
    cst.execute();
    st.close();
    cst.close();
    con.close();

  • SQL Exception "No more data to read from socket"

    I am running an application that uses a servlet which accesses oracle database 7.3 thru jdbc thin driver 7.3.4.
    It executes some queries and at some or the other point of time while exceuting a query it gives the exception " No more data to read from socket" .
    What is the problem and how should I solve it?

    I am running an application that uses a servlet which accesses oracle database 7.3 thru jdbc thin driver 7.3.4.
    It executes some queries and at some or the other point of time while exceuting a query it gives the exception " No more data to read from socket" .
    What is the problem and how should I solve it?

  • XI to jdbc error:  No more data to read from socket

    i have a XI to JDBC scenario, where a receiver JDBC communication channel sends a query to the database, i get an error in the response (from database) as:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'NAME' (structure 'STATEMENT'): java.sql.SQLException: No more data to read from socket</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Hi Sudeep,
    This error most likely occurs when you use DB connection pool, which I think is the case in XI. When the JDBC adapter tries to connect to the database and discovers that the connection has been timed out/lost, then this exception is generated. Please have a look of the connection settings of your JDBC adapter and also at the note 831162.
    Cheers...
    Vasu
    <b>** REward POInts if found useful **</b>

  • Error code: 17410: No more data to read from socket

    We have a strange issue.
    We have a stored procedure which we invoke using JDBC code. Calls to this stored procedure runs fine on 2 databases but fails on the 3rd one. If we run the stored procedure using SQL Plus, it works fine.
    SQLException being thrown is:
    java.sql.SQLException: No more data to read from socket
    Oracle database version is Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production in all three environments
    While debugging the issue we figure the order of Java code made a difference while invoking the stored procedure that did not initially work.
    Original Code:
    ArrayDescriptor desc = ArrayDescriptor.createDescriptor( "SCHOOLLISTTYPE", conn );
    StructDescriptor structdesc = StructDescriptor.createDescriptor( "SCHOOLCODEOBJ", conn );
    Object[] attributes1 = { new String( "00131700" ), new String( "00" ) };
    STRUCT empType1 = new STRUCT( structdesc, conn, attributes1 );
    Object[] attributes2 = { new String( "00115900" ), new String( "01" ) };
    STRUCT empType2 = new STRUCT( structdesc, conn, attributes2 );
    Object[] attributes3 = { new String( "03078200" ), new String( "00" ) };
    STRUCT empType3 = new STRUCT( structdesc, conn, attributes3 );
    Object[] arrayElements = { empType1, empType2, empType3 };
    ARRAY newArray = new ARRAY( desc, conn, arrayElements );
    CallableStatement ps = conn.prepareCall( "{call AWSchools.Names (?, ?, ?)}" );
    Throws the SQLException mentioned above.
    But if I change the code to:
    StructDescriptor structdesc = StructDescriptor.createDescriptor( "SCHOOLCODEOBJ", conn );
    Object[] attributes1 = { new String( "00131700" ), new String( "00" ) };
    STRUCT empType1 = new STRUCT( structdesc, conn, attributes1 );
    Object[] attributes2 = { new String( "00115900" ), new String( "01" ) };
    STRUCT empType2 = new STRUCT( structdesc, conn, attributes2 );
    Object[] attributes3 = { new String( "03078200" ), new String( "00" ) };
    STRUCT empType3 = new STRUCT( structdesc, conn, attributes3 );
    Object[] arrayElements = { empType1, empType2, empType3 };
    ArrayDescriptor desc = ArrayDescriptor.createDescriptor( "SCHOOLLISTTYPE", conn );
    ARRAY newArray = new ARRAY( desc, conn, arrayElements );
    CallableStatement ps = conn.prepareCall( "{call AWSchools.Names (?, ?, ?)}" );
    code works fine.
    This is strange as the ArrayDescriptor and StructDescriptor and independent objects till we invoke ARRAY newArray = new ARRAY( desc, conn, arrayElements );
    Why would creating the ArrayDescriptor after we have done with arrayElements and desc make a difference?
    And this happens only with one database server. The original code works fine in other 2 oracle database.
    We did search in many forums about the error "No more data to read from socket". Seems this is a dark error which does not have any convincing answers.
    Any help will be greatly appreciated.
    Thanks.

    enable gateway tracing by setting HS_FDS_TRCE_LEVEL=255 in your DG4MSQL configuration file. Then open a new SQL*Plus window and execute:
    select user from dual@<dg4msql db link>;
    A trace file is generated in the ORACLE_HOME/dg4msql/trace directory. Post its content.

  • No more data to read from socket only in 2nd and 3rd database

    Hi,
    I'm developing an application for a client with three independent login modes, each one with an independent database.
    I'm using the following products:
    Oracle 9i database (9.2.0.6.0)
    Oracle Content Management SDK 10g (9.0.4.0.0)
    Oracle Workflow (2.6.3.0.0)
    Oracle Application Server 10g (9.0.4.2.0)
    In development, I've these products installed in x86 machines with Windows 2000. I've no problems and no errors.
    In the client, I've the same products and versions but installed in a Solaris Machine and I've the following error ONLY when I use the second and the third login modes (not always, maybe only in 50% of the times I submit data in the application). In the first login mode I have no problems. The code for the different modes is essentially the same so I don't understand what is the problem. I don't have access to the client server so I can't make a debug.
    The error is:
    Caused by: java.sql.SQLException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
         at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:985)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
         at oracle.jdbc.ttc7.Oclose.receive(Oclose.java:105)
         at oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:565)
         at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:848)
         at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:351)
         at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:285)
         at oracle.jdbc.driver.OracleCallableStatement.close(OracleCallableStatement.java:876)
         at oracle.jdbc.oracore.OracleTypeADT.initMetadata(OracleTypeADT.java:579)
         at oracle.jdbc.oracore.OracleTypeADT.init(OracleTypeADT.java:406)
         at oracle.sql.ArrayDescriptor.initPickler(ArrayDescriptor.java:1023)
         at oracle.sql.ArrayDescriptor.<init>(ArrayDescriptor.java:137)
         at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:102)
    I'm using oracle jdbc thin driver.
    As data source class I'm using jdbc.pool.OracleConnectionCacheImpl.
    Anyone have a clue what is happening?

    Have you resolved this? I am getting the same error, but after restarting my webserver and re-establishing my connection pools it works(for a while). I need to find the root.
    Thanks for any help,
    Mark

  • "No more data to read from socket" exception when testing connections

    Hi,
    I will appriciate your help with the following problem.
    We have the follwoing errors in the weblogic.log (We are using weblogic 8.1.0.2 and Oracle 9.2.0.3)
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep> <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001128> <Connection for pool "oraclePool" closed.>
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001067> <Connection for pool "oraclePool" refreshed.>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001112> <Test "select count(*) from DUAL" set up for pool "oraclePool" failed with exception: "java.sql.SQLException: No more data to read from socket".>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>> <> <BEA-001131> <Received an exception when closing a cached statement for the pool "oraclePool": java.sql.SQLException: Io exception: Broken pipe.>
    These exception occures every hour after the connection pool is being closed and refreshed.
    Also there are a lot of the follwoing warnning in the log :
    <BEA-001074><A JDBC pool connection leak was detected.
    Does these two problems connected? What can we do in order to solve it?
    Thanks
    Edited by RF123 at 01/28/2007 3:41 AM

    R F wrote:
    Hi,
    I will appriciate your help with the following problem.
    We have the follwoing errors in the weblogic.log (We are using weblogic 8.1.0.2 and Oracle 9.2.0.3)
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep> <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001128> <Connection for pool "oraclePool" closed.>
    ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001067> <Connection for pool "oraclePool" refreshed.>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001112> <Test "select count(*) from DUAL" set up for pool "oraclePool" failed with exception:
    "java.sql.SQLException: No more data to read from socket".>
    ####<Dec 20, 2006 10:47:51 AM EET> <Error> <JDBC> <ep > <mfserver> <Thread-14> <<WLS Kernel>
    <> <BEA-001131> <Received an exception when closing a cached statement for the pool "oraclePool":
    java.sql.SQLException: Io exception: Broken pipe.>
    These exception occures every hour after the connection pool is being closed and refreshed.
    Also there are a lot of the follwoing warnning in the log :
    <BEA-001074><A JDBC pool connection leak was detected.
    Does these two problems connected? What can we do in order to solve it?Hi. The problems are not directly related, but may have the same cause.
    Something is killing your DBMS connections out from under the driver.
    Do you have a firewall between WLS and the DBMS, or a flakey network?
    Contact BEA support to get the 8.1sp2 patch for getting meaningful
    connection leak traces (CR209251_81sp2.jar). When that patch is installed
    the leak messages should show a full stack trace of the application code
    where the connection was obtained. It is that application code that
    somehow failed to close the pool connection, causing a pool leak. I
    suspect that the application code got an unexpected exception, such as
    when/if the DBMS/network/firewall killed a connection. In this case I
    believe the application went through an exception-handling path that
    forgot to close the connection.
    Joe

  • Oracle 8i on NT: No more data to read from socket

    I'm using the thin JDBC to connect to Oracle 8i on NT. when i
    try to connect i get this exception:
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.dbaccess.DBError.check_error
    (DBError.java:659)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(Compiled Code)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1
    (MAREngine.java:687)
    at oracle.jdbc.ttc7.TTIpro.receive(TTIpro.java:134)
    at oracle.jdbc.ttc7.v8TTIpro.receive(v8TTIpro.java:93)
    at oracle.jdbc.ttc7.TTC7Protocol.connect
    (TTC7Protocol.java:1100)
    at oracle.jdbc.ttc7.TTC7Protocol.logon
    (TTC7Protocol.java:179)
    at oracle.jdbc.driver.OracleConnection.<init>
    (OracleConnection.java:142)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance
    (OracleDriver.java:214)
    at oracle.jdbc.driver.OracleDriver.connect
    (OracleDriver.java:193)
    at java.sql.DriverManager.getConnection(Compiled Code)
    at java.sql.DriverManager.getConnection
    (DriverManager.java:137)
    at org.apache.turbine.util.db.DBOracle.getConnection
    (DBOracle.java:82)
    at
    org.apache.turbine.util.db.ConnectionPool.getNewConnection
    (ConnectionPool.java:161)
    at
    org.apache.turbine.util.db.ConnectionPool.getConnection
    (ConnectionPool.java:139)
    at org.apache.turbine.util.db.DBBroker.getConnection
    (DBBroker.java:162)
    at org.apache.turbine.util.db.DBBroker.getConnection
    (DBBroker.java:119)
    at org.apache.turbine.util.db.BasePeer.initTableSchema
    (BasePeer.java:179)
    at org.apache.turbine.util.TurbineUserPeer.<clinit>
    (TurbineUserPeer.java:140)
    at
    org.apache.turbine.util.TurbineUser.retrieveFromStorage
    (TurbineUser.java:310)
    at org.apache.turbine.actions.LoginUser.build
    (LoginUser.java:103)
    at org.apache.turbine.modules.ActionLoader.exec
    (ActionLoader.java:115)
    at Turbine.doGet(Compiled Code)
    at Turbine.doPost(Turbine.java:356)
    at javax.servlet.http.HttpServlet.service
    (HttpServlet.java:521)
    at javax.servlet.http.HttpServlet.service
    (HttpServlet.java:588)
    at org.apache.jserv.JServConnection.processRequest
    (JServConnection.java)
    at org.apache.jserv.JServConnection.run
    (JServConnection.java)
    at java.lang.Thread.run(Thread.java:479)
    any one know how to fix this problem???
    -ScottTavares-
    null

    Scott C. Tavares (guest) wrote:
    : I'm using the thin JDBC to connect to Oracle 8i on NT. when i
    : try to connect i get this exception:
    : java.sql.SQLException: No more data to read from socket
    : at oracle.jdbc.dbaccess.DBError.check_error
    : (DBError.java:659)
    : at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(Compiled Code)
    : at oracle.jdbc.ttc7.MAREngine.unmarshalSB1
    : (MAREngine.java:687)
    : at oracle.jdbc.ttc7.TTIpro.receive(TTIpro.java:134)
    : at oracle.jdbc.ttc7.v8TTIpro.receive(v8TTIpro.java:93)
    : at oracle.jdbc.ttc7.TTC7Protocol.connect
    : (TTC7Protocol.java:1100)
    : at oracle.jdbc.ttc7.TTC7Protocol.logon
    : (TTC7Protocol.java:179)
    : at oracle.jdbc.driver.OracleConnection.<init>
    : (OracleConnection.java:142)
    : at oracle.jdbc.driver.OracleDriver.getConnectionInstance
    : (OracleDriver.java:214)
    : at oracle.jdbc.driver.OracleDriver.connect
    : (OracleDriver.java:193)
    : at java.sql.DriverManager.getConnection(Compiled Code)
    : at java.sql.DriverManager.getConnection
    : (DriverManager.java:137)
    : at org.apache.turbine.util.db.DBOracle.getConnection
    : (DBOracle.java:82)
    : at
    : org.apache.turbine.util.db.ConnectionPool.getNewConnection
    : (ConnectionPool.java:161)
    : at
    : org.apache.turbine.util.db.ConnectionPool.getConnection
    : (ConnectionPool.java:139)
    : at org.apache.turbine.util.db.DBBroker.getConnection
    : (DBBroker.java:162)
    : at org.apache.turbine.util.db.DBBroker.getConnection
    : (DBBroker.java:119)
    : at org.apache.turbine.util.db.BasePeer.initTableSchema
    : (BasePeer.java:179)
    : at org.apache.turbine.util.TurbineUserPeer.<clinit>
    : (TurbineUserPeer.java:140)
    : at
    : org.apache.turbine.util.TurbineUser.retrieveFromStorage
    : (TurbineUser.java:310)
    : at org.apache.turbine.actions.LoginUser.build
    : (LoginUser.java:103)
    : at org.apache.turbine.modules.ActionLoader.exec
    : (ActionLoader.java:115)
    : at Turbine.doGet(Compiled Code)
    : at Turbine.doPost(Turbine.java:356)
    : at javax.servlet.http.HttpServlet.service
    : (HttpServlet.java:521)
    : at javax.servlet.http.HttpServlet.service
    : (HttpServlet.java:588)
    : at org.apache.jserv.JServConnection.processRequest
    : (JServConnection.java)
    : at org.apache.jserv.JServConnection.run
    : (JServConnection.java)
    : at java.lang.Thread.run(Thread.java:479)
    : any one know how to fix this problem???
    : -ScottTavares-
    scott --
    which jdbc versionare you using ??
    if not the 816sdk -- try it ...
    make sure you match up with the jdk version ...
    note: jdk 1.2 functionality is not in any of the orcl drivers
    yet.
    check out for this faq (3rd question -- i think) for more details
    on jdk 1.2 support :
    http://technet.oracle.com/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm
    in general -- this occurs due to several different conditions :
    verify that the connections string is correct :
    for thin -- the hostid:port:sid must match the listener you're
    trying to connect with -- and a tcp/ip connection on the server
    ust exist.
    for oci driver make sure the "tnsname" entry being specified
    exists and has the same information in its "entry" correct (i.e.
    matches the listener values)
    also make sure the listener and the orcl instance are started.
    also make sure you're using jdk 1.1.x with 8.1.5 or lower
    drivers.
    816sdk can be used with jdk 1.1 or 1.2 if you are using the
    correct jdbc driver version from otn to match the jdk version.
    only jdk 1.1.x functionality is available in the jdk 1.2 driver
    at this time.
    also make sure you're using a thin driver if in an applet.
    thin or oci in a servlet is ok if properly set up.
    without more info --
    i can't tell which of these "setup or condition" issues applies
    to your situation ...
    always provide :
    jdk details,
    applet vs. application vs. servlet,
    jdbc driver version number and type(thin/oci)
    also server version in all cases and if oci driver is being
    used -- the oracle client version,
    it's always better to provide too much detail with java
    issues than just an error message ...
    i hope this helps ...
    null

  • JDBC thin driver 8.0.5 giving SQLException: No more data to read from socket

    H/W : sun4u sparc SUNW,Ultra-Enterprise
    OS : SunOS 5.6 Generic_105181-16
    JDBC driver : 8.0.5.0.0 (Production Release)
    Oracle Server : 8.0.5
    I am getting the following error "SOMETIMES". I am using a connection pool to connect to the server using the thin driver. Can anyone tell me why is this happening and how can I fix it.
    Thanks,
    -Ramesh
    SQL Statement: SELECT * FROM blah blah ...
    SQLState: null
    Message: No more data to read from socket
    Vendor: 0
    JDBC close connection failed.
    java.sql.SQLException: No more data to read from socket
    URL=jdbc racle:thin:@<host>:1521:<sid> user=<user_name>
    null

    Hello,
    When I change PLSExtProc to XE, I get a different exception:
    java.sql.SQLException: ORA-00942: table or view does not exist
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:911)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1120)
         at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:962)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1242)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3446)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3491)
         at oracle.Main.main(Main.java:30)
    SQLException: ORA-00942: table or view does not exist
    thanks,
    - Breno

  • No more data to read from socket Exception -thin client

    my program is ..
    import java.sql.*;
    class OracleSQL
         OracleSQL()
         public static void connect2DB()
         try
              Class.forName("oracle.jdbc.driver.OracleDriver");
              Connection con=DriverManager.getConnection("jdbc:oracle:thin:@POOJAK:1521:PLSExtProc","System","pooja");
              if(con!=null)
                   Statement stmt=con.createStatement();
                   stmt.executeUpdate("insert into emp values('a',8,8)");
                   stmt.close();
                   con.close();
              else
                   System.out.println("NOT ok");
         catch(Exception e)
              e.printStackTrace();
         public static void main(String args[])
              OracleSQL osql=new OracleSQL();
              osql.connect2DB();
    following error on execution..
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
    :208)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1118)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1070)
    at oracle.jdbc.driver.T4C8TTIpro.receive(T4C8TTIpro.java:131)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:867)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:268)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
    420)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
    n.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at OracleSQL.connect2DB(OracleSQL.java:15)
    at OracleSQL.main(OracleSQL.java:38)
    classpath
    C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar;C:\oraclexe\app\oracle\product\10.2.0\server\jlib\orai18n.jar ;C:\bea\weblogic81\server\lib\weblogic.jar;
    path
    C:\oraclexe\app\oracle\product\10.2.0\server\BIN;
    i m using jdk 1.5
    Plz state reason of error as i hv tried many alternatives but in vain.

    When you post code, please use[code] and [/code] tags as described in Formatting tips on the message entry page. It makes it much easier to read.
    Google:
    User StuDerby posted:
    Well, lot's of things could be causing this. Off the top of my head, in rough order of likelihood:
    1) firewall - personal, on your box, or general, around the database, is reaping long-lived connections
    2) connection wrappers on the database - ditto
    3) your pooler is configured to terminate connections that are checked out of the pool for too long and you're exceeding that time for some operations
    4) your database or it's listener is crashing out from under you (and possibly being auto-restarted by the time you look at it).

  • [solaris 8] Oracle 8.1.6 EE: no more data to read from socket

    Hi,
    I'm sorry for writing to this list, but it is the most related I could find.
    I installed Oracle 8.1.6 EE on a sparc 5 with solaris 8. I had to install the thread patches for solaris 8 because the emn0 process of oracle was dying every 30 minutes.
    After that, the DB seemed to work ok, but when running a heavy java process (jdbc),
    the process reports "java.sql.SQLException: No more data to read from socket".
    Have anyone experienced this kind of problem ?
    I decided to reinstall solaris 7... Could anyone help me ? comments ? suggestions ?
    Thanks in advance.
    Gabriel

    Reason: the ORACLE server process crashes (sometimes), and the result is the "empty"
    socket.

  • Oracle SQLException: No more data to read from socket

    I am using JDBC connection pooling to read a large data set and after about an hour or so into the result set processing I get the exception stated blow on all the connections in the pool and the process dies.. What is causing this? How can I correct this?
    Oracle SQLException: No more data to read from socket
    (load.AbstractLoadDB 171 ) oracle.jdbc.driver.OracleResultSetImpl@19a37a::COMMON_2
    java.sql.SQLException: No more data to read from socket
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
    at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:885)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:994)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:951)
    at oracle.jdbc.driver.T4C8TTILob.receiveReply(T4C8TTILob.java:775)
    at oracle.jdbc.driver.T4C8TTILob.getChunkSize(T4C8TTILob.java:292)
    at oracle.jdbc.driver.T4CConnection.getChunkSize(T4CConnection.java:2072)
    at oracle.sql.CLOB.getChunkSize(CLOB.java:476)
    I would really appreciate your help.
    Thanks
    M

    Well, lot's of things could be causing this. Off the top of my head, in rough order of likelihood:
    1) firewall - personal, on your box, or general, around the database, is reaping long-lived connections
    2) connection wrappers on the database - ditto
    3) your pooler is configured to terminate connections that are checked out of the pool for too long and you're exceeding that time for some operations
    4) your database or it's listener is crashing out from under you (and possibly being auto-restarted by the time you look at it).

  • SQL error 17410 No more data to read from socket

    Hi, I may have reached some stability limit of my JDBC thin driver, DB version and
    the complexity of my use cases??
    DB= 9.0.1.0
    Jev/OC4J = 9.0.2
    So this includes the JDBC thin driver included that looks like version; 9.0.2.7.99
    It made no sense but changing a dynamic where clause being set onto a View over an Entity
    like; vo.setWhereClause("myid = "+theID+" and someFk ="+theFkId);
    To a dynamic where clause with bind params for efficiency:
    vo.setWhereClause("myid = :1 and someFk = :2");
    vo.setWhereClauseParam(0, theId);
    vo.setWhereClauseParam(1, theFkId);
    I checked that my bind variables are same data type as what's declared in the Entity.
    This intermitantly causes:
    JBO-26066, which is a wrapper over SQLException 17410 No more data from socket
    Deep into the stack trace are unmarshalUB1(MARengine.java) ...
    leading me to believe this isn't my code but a bug/stress issue with the driver.
    Any thoughts?
    curt

    Steve et al,
    I'd like to re-ask does it make sense what I've done?
    A standard VO over an Entity with no where clause.
    vo.setWhereClause ("myId = :1 and myTypeCd = :2");
    vo.setWhereClauseParam(0, "123")
    vo.setWhereClauseParam(1, new Integer("1"));
    If this makes sense and should work, then I'd like to debug why for me it throws this No more data to
    read from socket error..
    Nothing obvious turns up in the BugDB for this related to bind variables and JDBC based on what you've described so far. An unscientific test would be to download the latest 9.2 JDBC driver and try that to see if the problem persists.I downloaded the latest 9.2 -g debug drivers and got this interesting trace:
    DRVR OPER OracleConnection.getDefaultFixedString() returning false
    DRVR OPER ResultSetUtil.needIdentifier(typeCode=1): return: false
    DRVR SQLS Input SQL:  "SELECT JotfObligationsSum.UNO#,         JotfObligationsSum.OBLIGATION_BALANCE,          JotfObligationsSum.OBLIGATION_TYPE_CD,         JotfObligationsSum.ENTERED_DT,          JotfObligationsSum.RECORD_VERSION,         JotfObligationsSum.ENTERED_BY,          JotfObligationsSum.ROWID FROM JOTF_OBLIGATIONS_SUM JotfObligationsSum WHERE (JotfObligationsSum.Uno# = '1000270' and JotfObligationsSum.Obligation_Type_Cd=1)"
          pStmt = conn.prepareStatement("SELECT JotfObligationsSum.UNO#,         JotfObligationsSum.OBLIGATION_BALANCE,          JotfObligationsSum.OBLIGATION_TYPE_CD,         JotfObligationsSum.ENTERED_DT,          JotfObligationsSum.RECORD_VERSION,         JotfObligationsSum.ENTERED_BY,          JotfObligationsSum.ROWID FROM JOTF_OBLIGATIONS_SUM JotfObligationsSum WHERE (JotfObligationsSum.Uno# = '1000270' and JotfObligationsSum.Obligation_Type_Cd=1)");  // JBO-JDBC-INTERACT
    [803] (30) DRVR OPER OracleStatement.setFetchSize(rows=1)
    Binding param 1: 1000270
    [804] (0) DRVR OPER OraclePreparedStatement.setObject(paramIndex=1, object)
    DRVR OPER OraclePreparedStatement.setObject(paramIndex=1, object, targetSqlType=12, scale=0)
    DRVR OPER OraclePreparedStatement.setString(paramIndex=1, x=1000270)
    Binding param 2: 1
    [805] (0) DRVR OPER OraclePreparedStatement.setObject(paramIndex=2, object)
    DRVR OPER OraclePreparedStatement.setObject(paramIndex=2, object, targetSqlType=4, scale=0)
    DRVR OPER OraclePreparedStatement.setInt(paramIndex=2, x=1)
    DRVR WARN DBError.findMessage(errNum, obj): returned No max length specified in defineColumnType
    SQLWarning: reason(Warning: No max length specified in defineColumnType) SQLstate(null) vendor code(17108)
    DRVR OPER OraclePreparedStatement.executeQuery()
    DRVR OPER OraclePreparedStatement.executeUpdate()
    DRVR OPER OracleConnection.getAutoCommit() returned false
    DRVR WARN DBError.findMessage(errNum, obj): returned No more data to read from socket
    SQLException: SQLState(null) vendor code(17410)
    java.sql.SQLException: No more data to read from socketNotice that the first Select DRVR log shows the bind params already substituted?
    what's the issue of no defined max length? That column is a Number(5) and the bind param is being
    set from an Integer.
    For the duplicate class issue, try searching the *.jpr file to see if somehow you have duplicate entries in there for the class it's complaining about. LOL, this is a good one. The first line in generated *Impl.java files is the package declaration.  If
    you bring up a java file and accidentally remove the first line, you'll get this odd error message.
    Duplicate class found for abc.class
    Thanks, curt

Maybe you are looking for