Bytes read from Socket buffer

Hi,
I'm writing a proxy application that relays data from a server to a client that requested the data. One thing I have observed is that when I have read about 32136 bytes of data, my reads from my buffered input stream fetch only one byte at a time. Not only is my read function now reading only one byte at a time, but it takes over a minute to fetch 83 bytes of data. And the delay gets worse the longer I run.
In an effort to stress test my app, I deliberately set the send and receive buffers of the client socket to a small value (128 bytes). I can understand that filling up the buffer could slow down the reading, but what is odd is that long after the client has digested all the data, the Input stream reads never seem to go back to their original speed.
Is this an O/s thing? a JVM thing? I'm running JDK 1.3.1 on an intel box with Linux Redhad 6.2. It seems to me that there must be some way of getting the socket buffer clear on the receive side so that I can get something that ressembles a normal dataflow. Oh, and I tried toggling the TCP no delay flag to no avail.
Any suggestions?
-hugh

However, even with a large socket buffer, there is
always the chance that the receiving app will run
slowly due to bad programming, network latency, etc
(we're not the authors of the clients who will
connect), meaning even with the maximum buffer size,
we could fill the socket buffer. I suppose, though,
if it is the sender app that is getting fooled, then
it's a matter for the authors of the sending
application.True but the same thing will happen if the client connects directly to the server without your proxy, so why worry? General tips for writing proxies: use as large a buffer as possible, run separate reading and writing threads in your proxy, and propagate an EOF by doing shutdownOutput in the opposite direction. When you have done this in both directions you can close the socket, not before.

Similar Messages

  • MDEX intermittantly not returning response, getting com.endeca.navigation.ENEConnectionException: Error reading from socket connection buffer.Connection reset

    Intermittant issue where certain portlets have the spinning wheel and error getting thrown in the log, and resulting in stuck threads, has anyone seen this?
    Caused by: com.endeca.navigation.ENEConnectionException: Error reading from socket connection buffer.Connection reset
            at com.endeca.navigation.OptiInputBuffer.read(Unknown Source)
            at com.endeca.navigation.OptiInputBuffer.readFully(Unknown Source)
            at com.endeca.navigation.OptiInputBuffer.readUInt(Unknown Source)
            at com.endeca.navigation.OptiInputBuffer.readLine(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatCat(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatCatsWithAncs(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatCatGroup(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatBin(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.FormatBinList(Unknown Source)
            at com.endeca.navigation.OptiBinaryInterp.ParseBinaryNode(Unknown Source)
            at com.endeca.navigation.OptiBackend.getNavigation(Unknown Source)
            at com.endeca.navigation.HttpENEConnection.query(Unknown Source)
            at com.endeca.portal.mdex.MDEXUtil.execute(MDEXUtil.java:433)
            at com.endeca.portal.data.DataSource.execute(DataSource.java:546)

    Message appears in logs internmittantly during page rendering which has Breadcrumbs, Results Table, Guided Navigation portlets.  There are Agraphs in front of several Dgraphs.

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

  • 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

  • [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 on ASA5505: "IKE Receiver: Error reading from socket."

    Hi,
    I'm expecting a problem with the network of a customer.
    He has one ASA5505 connected to 2 RV082 using VPN IPSec (1 top office and 2 remote sites).
    Each sites have 2 internet ADSL providers: "Provider A" and "Provider B" for backup purpose.
    The remote site 1 has the default connection using "Provider A" network on both sites (top office and remote site) and "Provider B" for backup purpose.
    While remote site 2 has the default connection using "Provider B" network on both sites (top office and remote site) and "Provider A" for backup purpose.
    (Kind of load balancing when all connections are working good)
    When all "3 sites x 2 =" 6 connections are working, I doesn't have any problem and all is working good.
    But since 2 weeks, the "Provider A" of the top office is disconnected: both remote site uses "Provider B" and are connected to the top office on
    the "Provider B" connection. ("Provider A" is no longer used on every sites.)
    This configuration works good until a short disconnection appear on "Provider B" connection on "Site 2".
    Then I have many "IKE Receiver: Error reading from socket." on the ASA5505 syslog and the RV082 located on "Site 2" says it's connect but it isn't. (It is not possible to ping "site 2" from top office network.)
    If I force this RV082 to reconnect, I can from the top office, ping "Site 2" and open a remote desktop session to the server located on "site 2".
    But I cannot ping top office network from "Site 2" and I cannot open a remote desktop session to the server located on "top office"
    (it's very strange I can ping from a A network to a B network but not from B to A).
    Restart the RV082 of the "Site 2" and/or the ASA5505 does not fix the problem and I continue to get the IKE socket error message.
    To fix the problem until next "Site 2" "Provider B" disconnection, I have to disconnect or restart the RV082 located on "Site 1" and then do the same to the RV082 located on "Site 2".
    I use updated firmware: RV0XX-v4.1.1.01-sp.bin for both RV082 v3 and asa843-9-k8.bin for the ASA5505.
    ASA routing part :
    # 192.168.1.0 is the network of the top office
    # 192.168.2.0 is the network of site 1
    # 192.168.3.0 is the network of site 2
    # 192.168.20.2 is the @IP of the "Provider A" internet router located on top office
    # 192.168.21.2 is the @IP of the "Provider B" internet router located on top office
    route outsideLB 0.0.0.0 0.0.0.0 192.168.20.2 128 track 1
    route outsideFB 192.168.3.0 255.255.255.0 192.168.21.2 128 track 2
    route outsideLB 192.168.2.0 255.255.255.0 192.168.20.2 128 track 3
    route outsideFB 0.0.0.0 0.0.0.0 192.168.21.2 150
    route outsideFB %Site2_ProviderB_PublicIP% 255.255.255.255 192.168.21.2 5
    route outsideLB %Site1_ProviderA_PublicIP% 255.255.255.255 192.168.20.2 5
    route outsideFB 192.168.2.0 255.255.255.0 192.168.21.2 150
    route outsideLB 192.168.3.0 255.255.255.0 192.168.20.2 150
    sla monitor 10
    type echo protocol ipIcmpEcho %ProvideA_IP_of_a_SMTP_Server% interface outsideLB
    frequency 5
    sla monitor schedule 10 life forever start-time now
    sla monitor 20
    type echo protocol ipIcmpEcho %Site2_ProviderB_PublicIP% interface outsideFB
    sla monitor schedule 20 life forever start-time now
    sla monitor 30
    type echo protocol ipIcmpEcho %Site1_ProviderA_PublicIP% interface outsideLB
    sla monitor schedule 30 life forever start-time now
    Thanks,
    David
    neithe

    isConnected means was ever connected.
    Check whether isr is closed. If so, the server has disconnected/closed the connection.

  • 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

  • Couldn't read from socket error: Is this a bug in Java?

    I have been facing this grave problem for a long time now. After establishing a socket connection with some server:port say 207.123.17.20:1865, I get this error "Couldn't read from socket" as an IOException. I can neither read or send any packets to the server after receiving this error. On checking whether the socket connection is alive or not, I print socket.getAddress() and it returns me the ip of the server to which it is connected. The specification says that receiving this error means the socket was closed by the server. If it so then how I am able to print the server address after receiving this error? How can I get around this problem? Plz. help...

    watertownjordan said:
    If your computer (client) killed the connection, it should throw an error >pointing to the OS closing the connection. but what if my client app cntrl alt del while the server is waiting to here from the client.
    my client may sit idle for hours and then contact again. i want to keep their socket connected but if they cntrl alt del then i want to close the socket so the thread on the server side can be exited.
    the way i solved this was to send an "i'm still here" message to the serv in a timer every 10 seconds and set the time out on the server side to 30 seconds.
    i used a syncronized boolean variable like so:
        volatile private boolean out1busy = false;
        private synchronized boolean getOut1busy(){
         return out1busy;
        private synchronized void setOut1busy(boolean on){
         out1busy = on;
        }then in the timer i do this
            while (getOut1busy()) try { Thread.sleep(40); } catch (InterruptedException ex) {}
            setOut1busy(true);
            lobbyOut.println("-1");
            setOut1busy(false);it seems to work fine but the loop using the thread.sleep does not seem right and i know very little about this all.
    i'm basically asking the same thing as Chintan.Kanal
    Is there any way I can test whether the socket connection is alive from the server side?
    does my approach above have flaws.
    again it seems to work but i am not very Java savy lol.

Maybe you are looking for

  • I can't get my laptop to connect to the internet through my Ellipsis Jetpack.

    My laptop will connect to the jetpack but with limited access. It will connect to my mom's computer and my phone. I have windows 8.1 and she has windows vista.

  • How do I Download an earlier version of adobe reader?

    I want to dowload an earlier version of abode reader.  I am struggling to open a  PDF file, and one of the reason given as to why I might be having this problem, is that the PDF file is not compatilble with the latest version of Adobe Reader.  I am u

  • Itunes store does not load

    Hello, I am unable to connect to itunes store. There is no error message showing. Just the loading bar moves half way accross and then I am left with a white screen. I have checked the following; internet works fine, i am able to dowload music art, m

  • Why query against table(dbms_xplan.display) take too long?

    the env is PROD, version is Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi. Most of the time, when I do explain plan and query the table(dbms_xplan.display), it takes like 3-8 minutes to display the result. So, I wonder what might g

  • Removing tool bar and menu bar to the navigated page through ADF

    Hi, Through facesconfig iam navigating to the other page, some thing like my method returns a striing "success" in faceconfig i made to navigate to page2.jsp if it receives success, My current requirement is to remove the tool bar as well as manu bar