CTRL-M (^M) characters in data read from sockets

Hi,
We have developed a software applications which opens upto 300 TCP connections and 4000 UDP sockets. The data from the TCP application is multiplexed to UDP sockets and viceversa.
We connect to the application using a TCP socket and send certain data to the application which in turns sends this data to all the 4000 UDP sockets. The data received from 4000 UDP sockets is in turn sent back to the TCP socket as responses.
We used telnet to connecct to thespecific TCP port on our application, sent a request to be sent to all 4000 UDP sockets and noticed ctrl-M characters in the data received from TCP socket. However we are sure we are not appending or adding this ctrl-m character while sending the data on TCP socket.
telnet host port >/tmp/abc
send a request
send next request
(after 10 mins, close connection)
cat -vet /tmp/abc >/tmp/xyz
There are ctrl-m characters in /tmp/xyz.
^M is observed only at the end of few lines and not on all lines. Successive repeatition of this test generates ^M in different lines but at the end of the line always.
Can anybody help me to know why these ^M characters are getting generated?
Note: We are completely working on Solaris and do not move contents across Windows and Unix. Our application is completely written on C++
Thanks.
Message was edited by:
shekhnam

I think I've misunderstood something here. The problem you're having is with the response being filtered by Telnet or your client, not what telnet is sending to the server?
In that case I think the explanation is clear. Telnet is trying to display what comes back on a screen, and it is deleting and inserting newlines every now and then according to its internal whim so as to make the data wrap. I don't know if you can control that, but I also don't know if it matters as long as you have your own client application. You just have to stop treating Telnet as a viable test client.

Similar Messages

  • No more data to read from socket UTF instance problem

    I'm using oracle jdbc thin driver and SunOne Application Server 7 environment.
    I'm trying to call the stored procedure which has one IN parameter that is of type CLOB.
    My code looks like this:
    conn = DriverManager.getConnection (url, username, password);
    conn.setAutoCommit(false);
    clob = CLOB.createTemporary(conn, true, CLOB.DURATION_SESSION);
    Writer wr = clob.getCharacterOutputStream();
    wr.write(m_data);
    wr.flush();
    wr.close();
         PreparedStatement pstmt = conn.prepareCall(procedureCall);
    pstmt.setClob(1, clob);
         pstmt.execute();
    but when I run it, it throws this (at wr.write(m_data) statement):
    [29/Jan/2003:15:07:25] WARNING ( 9340): CORE3283: stderr: java.io.IOException: No more data to read from socket
    [29/Jan/2003:15:07:25] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java:716)
    [29/Jan/2003:15:07:25] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.driver.OracleClobWriter.flushBuffer(OracleClobWriter.java:270)
    [29/Jan/2003:15:07:25] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.driver.OracleClobWriter.write(OracleClobWriter.java:172)
    [29/Jan/2003:15:07:25] WARNING ( 9340): CORE3283: stderr: at java.io.Writer.write(Writer.java:150)
    [29/Jan/2003:15:07:25] WARNING ( 9340): CORE3283: stderr: at java.io.Writer.write(Writer.java:126)
    I tried using this instead of Writer:
    clob.putString(1, m_data);
    but the same error occurs.
    I then tried to do both of these:
    InputStream reader = new StringBufferInputStream(m_data);
    PreparedStatement pstmt = conn.prepareCall(procedureCall);
    pstmt.setUnicodeStream(1, reader, reader.available());
    Reader reader = new StringReader(m_data);
         PreparedStatement pstmt = conn.prepareCall(procedureCall);
    pstmt.setCharacterStream(1, reader, m_data.length());
    but in both cases I got this (at pstmt.setCharacterStream() or pstmt.setUnicodeStream()):
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: java.sql.SQLException: Data size bigger than max size for this type: 76716
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:95)
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2414)
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1134)
    [29/Jan/2003:16:06:00] WARNING ( 9340): CORE3283: stderr: at oracle.jdbc.driver.OraclePreparedStatement.setUnicodeStream(OraclePreparedStatement.java:2633)
    But, the greatest mistery of all is that code with temporary CLOB works fine when I create instance and use default settings. Problem occurs when I create instance with UTF coding scheme. But we are forced to use Unicode coding scheme, because of local special characters.
    We are using Oracle 9i on Solaris UNIX platform and jdbc drivers supplied with it.
    The CLOB I am trying to pass is a XML file and it is possible to be up to 400 KB in size.
    Please help. I'm at my wit's end!

    Hi,
    I have a similar problem . This is the code that I used. Can u please help me
    oracle.sql.CLOB newClob = oracle.sql.CLOB.createTemporary(((org.apache.commons.dbcp.PoolableConnection) con).getDelegate() , true, oracle.sql.CLOB.DURATION_SESSION);
              newClob.open(oracle.sql.CLOB.MODE_READWRITE);
              Writer wr = newClob.getCharacterOutputStream();
              wr.write(valuesXml);
              wr.flush();
              wr.close();
              //newClob.putString(1,valuesXml);
              pst.setClob(1,newClob);
    These are the versions that I use
    java version is 1.4.2_06
    and it is a Liunx OS - gij (GNU libgcj) version 3.2.3 20030502 (Red Hat Linux 3.2.3-49)
    the Oracle version is 9.2.0.4.0
    The exception I see is
    java.io.IOException: No more data to read from socket
         at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java:716)
         at oracle.jdbc.driver.OracleClobWriter.flushBuffer(OracleClobWriter.java:270)
         at oracle.jdbc.driver.OracleClobWriter.flush(OracleClobWriter.java:204)

  • 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."?

    Hi everybody,
    We recently migrated from Oracle 10g Database Enterprise Edtion to Oracle 11g R2 Database Enterprise Edition
    with Data Guard and a dedicated standy-by database. The database is a data source for multiple applications.
    Among others, we are using two JBoss 4.2.3 GA application servers which run together in a clustered configuration.
    During our migration of our database, we also updated our OJDBC thin drivers from Oracle within our JBosses. We
    replaced the ojdbc14.jar with ojbc6.jar (Oracle 11g 11.1.0.7.0) and updated or added referenced libraries as well.
    Since our migration we experience an unfamiliar problem from time to time. Suddenly our deployed EJBs crash with
    the exception "SQLException: No more data to read from socket." The occurence is rather random than bound to
    a specific bean. The only noticeable thing is that it appears more often when there is more work load on our
    JBosses.
    Our only solution up to now is to shutdown our JBosses, restart the database and restart our JBosses again.
    Depending on our work load we do this from every two days to every 4 hours.
    I googled the message and even found several hundred hits that mentioned the exception above, but none of
    them got really solved, instead people found some case of work around for them. But none of them worked for us,
    since this exception seems more general and can have multiple causes.
    We did not have this problems when we were using the Oracle 10g database. Currently I am not sure if this problem
    is related to the new Oracle 11g R2 database, the new OJDBC thin driver or JBoss.
    Anybody experienced the same problem? And maybe even got it properly solved?
    If you need further information, just ask. I will happily offer as much information as possible to solve this.
    Greetings,
    CB
    Edited by: Crazy Bytes on 08.06.2010 03:10

    Hi,
    I remember that we received similar error after upgrading the database from 9.2.0.7 to 10.2.0.4 in one of our application using JDBC 10.1.0.5. We worked with Oracle support, and they provided us with patch Patch 5851267, that resolved our problem.
    So I would recommend you to do the same.
    regards

  • [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.

  • Error -no more data to read from socket vendor code 17410

    Hi everyone
    I have installed a gateway on my server. My oracle database 11.1.0.7 is running on windows server 2008 and i am trying to connect to sql server 2005.
    After creating the database link when i test the database link i get this error
    no more data to read from socket vendor code 17410
    can you please suggest me how to get rid of this error?????
    thanks a many

    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.

  • 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...

  • "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

  • SQLDeveloper tool script execution aborts with Error report: No more data to read from socket

    Hello,
    Strange behaviour of  the SQLdeveloper tool while executing script with typical DDLs like:
    Create Table,
    Alter Table
    Create Trigger ( use of :new and : old attributes in tehe body of trigger ).
    Insert Into....
    Scripts works ok from time to time.
    But sometimes coincidentally aborts with the error :
    Error report:
    No more data to read from socket
    Do not understand where is the problem.
    Scripts works ok when executed in SQL*Plus on server ( where Oracle RDBMS resides ).
    The version of SQLDeveloper is
    Version 3.2.20.09 Build MAIN-09.87
    The version of RDBMS is  11.2.0.2.0 .
    Thanx for any reference or direction or hint for upgrade or experience.
    Greetings,

    Welcome to the forum!
    Please provide the 4 digit Oracle version (result of SELECT * FROM V$VERSION) for the source and target servers; 10g and 11g are not versions. You also mention sql developer so what is the exact version you are using?
    >
    If delete the "OF out_a.ALLOCATION_ID" of the for update clause of CURSOR exist_allocation, this prolbem will not happen, and the code is comple succesfully on sql developer for oracle 10g.
    >
    Please clarify what works and what doesn't work because your statements are both incorrect and misleading.
    You can't delete the "OF out_a.ALLOCATION_ID" of the for update clause or you would get a syntax error by leaving FOR UPDATE OF with nothing specified after it.
    Also you original statement said
    >
    But when compile a package which is fine on oracle 10g
    >
    But now you say that if you delete the "OF..." the problem doesn't happen and the code compiles on 10g.
    Does the original code compile on 10g or not? Does it compile on 11g or not? After the original code is migrated to 11g does it compile? That is, the code is there can you manually compile it?

  • Error report:No more data to read from socket  when compile package

    We are going to migrate db from oracle 10g to oracle 11g. But when compile a package which is fine on oracle 10g, an exception "Error report:No more data to read from socket" throws on sql developer and break the connection. We have researched the issue and found if modify some code on a cursor, the issue will not happen.
    code:
    PROCEDURE DELETE_MANU_INTERV_BORROWS(
    p_borrow_id IN NUMBER,
    p_asset_id IN NUMBER,
    p_nsb_coll_type IN VARCHAR2,
    p_nsb_coll_code IN VARCHAR2,
    p_branch_code IN VARCHAR2,
    p_settle_date IN NUMBER,
    p_trans_type IN VARCHAR2,
    p_status OUT VARCHAR2,
    p_shorts_cursor OUT SYS_REFCURSOR
    IS
    var_end_settle_date GEC_IM_ORDER.SETTLE_DATE%type;
    CURSOR exist_allocation IS
    SELECT out_a.ALLOCATION_ID FROM
    GEC_ALLOCATION out_a,
    GEC_BORROW b,
    GEC_IM_ORDER o,
    GEC_TRADE_COUNTRY gc,
    (SELECT f.FUND_CD, f.BRANCH_CD, tc.TRADE_COUNTRY_CD, NVL(gc.COLLATERAL_CURRENCY_CD, gbk.COLLATERAL_CURRENCY_CD) as COLLATERAL_CURRENCY_CD
    FROM GEC_FUND f
    LEFT JOIN GEC_G1_BOOKING gbk ON f.fund_cd = gbk.fund_cd AND gbk.TRANSACTION_CD = 'G1L' AND gbk.POS_TYPE = 'NSB'
    LEFT JOIN GEC_G1_COLLATERAL gc ON gc.G1_BOOKING_ID = gbk.G1_BOOKING_ID
    LEFT JOIN GEC_TRADE_COUNTRY tc ON gc.TRADE_COUNTRY_CD = tc.TRADE_COUNTRY_CD
    ) loan_info
    WHERE b.BORROW_ID = out_a.BORROW_ID AND
    out_a.IM_ORDER_ID = o.IM_ORDER_ID AND
    o.FUND_CD = loan_info.FUND_CD AND
    o.ASSET_ID = p_asset_id AND
    gc.TRADE_COUNTRY_CD = o.TRADE_COUNTRY_CD AND
    o.TRANSACTION_CD = p_trans_type AND
    loan_info.COLLATERAL_CURRENCY_CD = p_nsb_coll_code AND
    loan_info.BRANCH_CD = p_branch_code AND
    o.SETTLE_DATE >= p_settle_date AND
    o.SETTLE_DATE <= var_end_settle_date AND
    b.STATUS = GEC_CONSTANTS_PKG.C_BORROW_MANUAL
    ORDER BY out_a.ALLOCATION_ID ASC
    FOR UPDATE OF out_a.ALLOCATION_ID;
    If delete the "OF out_a.ALLOCATION_ID" of the for update clause of CURSOR exist_allocation, this prolbem will not happen, and the code is comple succesfully on sql developer for oracle 10g.
    Does anybody have any idea? I've googled the similer problems but still can't find a clue. I'll appreciate any help.

    Welcome to the forum!
    Please provide the 4 digit Oracle version (result of SELECT * FROM V$VERSION) for the source and target servers; 10g and 11g are not versions. You also mention sql developer so what is the exact version you are using?
    >
    If delete the "OF out_a.ALLOCATION_ID" of the for update clause of CURSOR exist_allocation, this prolbem will not happen, and the code is comple succesfully on sql developer for oracle 10g.
    >
    Please clarify what works and what doesn't work because your statements are both incorrect and misleading.
    You can't delete the "OF out_a.ALLOCATION_ID" of the for update clause or you would get a syntax error by leaving FOR UPDATE OF with nothing specified after it.
    Also you original statement said
    >
    But when compile a package which is fine on oracle 10g
    >
    But now you say that if you delete the "OF..." the problem doesn't happen and the code compiles on 10g.
    Does the original code compile on 10g or not? Does it compile on 11g or not? After the original code is migrated to 11g does it compile? That is, the code is there can you manually compile it?

  • 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

  • No more data to read from socket error.

    Oracle Version
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - ProductionI am trying a code like below
    MERGE INTO TABLE1
    ( SELECT  ...
    FROM VIEW1 ) a UNPIVOT ("VALS" FOR cols IN ( .....columns to unpivot.......))
    where a.column1='test'
    ) b ON ( a.id=b.id)
    WHEN MATCHED THEN
    UPDATE set a.name=b.name
    when not matched then
    insert (a.id,a.name) values ( b.id,b.name);This code is giving error : No more data to read from socket error.
    But when I am trying
    MERGE INTO TABLE1
    ( SELECT  ...
    FROM VIEW1*
    where a.column1='test' ) a UNPIVOT ("VALS" FOR cols IN ( .....columns to unpivot.......))
    ) b ON ( a.id=b.id)
    WHEN MATCHED THEN
    UPDATE set a.name=b.name
    when not matched then
    insert (a.id,a.name) values ( b.id,b.name);It's working properly.
    Any idea why I am getting error with code 1?
    Edited by: Anupam_Halder on Oct 4, 2012 2:13 PM

    You need to look for an Oracle specific error code and message. The error text you have posted does not seem to be an Oracle error.
    The error however could result from an ORA-3113 end-of-file on communication channel.
    This Oracle error means that the Oracle server process servicing your request (executing SQL or PL/SQL code) ran into a fatal error (potentially an Oracle bug). The server process then proceeds with a "crash dump" - writes an error to the database instance's alert log, writes a trace file and then terminiates abnormally.
    It terminates without telling the client and without tearing down the tcp client-server connection. When the client then attempts to use this connection, the socket read fails. No data to read as the socket connection no longer exists.
    But this is speculation - we need to see the actual Oracle error (from the server or from the client driver). And you seem to be using an Oracle client that suppresses Oracle error codes and text. Which places a serious question mark over the actual usability of such client s/w for Oracle client-server.

  • 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

  • BUG ? : No more data to read from socket

    I have a problem while using the CURSOR function in a xsql:query with a where clause and an order by :
    Example :
    My xsql file :
    <xsql:query connection="demo" xmlns:xsql="urn:oracle-xsql">
    select d.deptno as deptno, d.dname,
    CURSOR( select empno,ename
    from emp
    where deptno = d.deptno) as emps
    from dept d
    where deptno < 40
    order by d.deptno desc
    </xsql:query>
    And my obtained result is :
    <xsql-error code="17410" action="xsql:query" xsql-timing="2025">
    <statement>select d.deptno as deptno, d.dname, CURSOR( select empno,ename from emp where deptno = d.deptno) as emps from dept d where deptno < 40 order by d.deptno desc</statement>
    <message>No more data to read from socket</message>
    </xsql-error>

    This problem still exists in OWB 11g R2. I hit this same issue yesterday. Not sure why its claimed to be resolved

  • 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

  • Can no longer log in??

    Hi, I had a CD get stuck in my optical drive so I shut down the computer to reboot and hopefully eject the CD. On the restart, the log in screen came up as usual with the right name. I put in my password and it shook it's head at me. I entered again,

  • Adobe Photoshop CS5 won't launch after Mac update

    I updated my mac yesterday to Maverick and now Adobe Photoshop CS5 won't launch.  Can you tell me what files I need to delete to get it to launch.  I tried reinstalling it, and that didn't help. thanks

  • Multiple DB queries to different tables are botching my page

    Hello everybody, This one's going to be a bit difficult to explain clearly, but I will do my best. ADDED: After posting this thread, I have been browsing a lot of forums and tutorials. I see a lot of praise for JOIN but I see nothing of lookup tables

  • I Need to change Date Format in BEx report

    Hi Experts, i Need display with required values with following symbols in BEx report # and Date format change as per client requirement. Without any VB Code. Let me know solution for this. By ANR

  • Text misbehaving

    I'm not sure where to go with this one. My mac has suddenly forgotten to wrap text properly in chat windows (msn) and some other programs. It lets the text run right out of the window so I have to expand the box as long as it takes just in order to s