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?
Similar Messages
-
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(); -
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...
-
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 -
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?
nullReason: the ORACLE server process crashes (sometimes), and the result is the "empty"
socket. -
SQL Error: No more data to read from socket
Hi!
When executing a rather large CREATE OR REPLACE VIEW statement (116 lines of SQL code, a SELECT statement with 80 columns in the SELECT clause and 32 left joins in the FROM clause) we get the error in the title of the thread. Also, after once seeing the error, the connection is dead and we have to reconnect to be able to do anything. If the command is, however, shorter, it executes just fine.
This is all done in Oracle SQL Developer v.1.2.1.3213. We'd appreciate any help!Yeah, this typically pops up after losing connection to the DB, due to internal error. I get those when overcomplicating code sometimes.
After reconnecting, does it still happen? Then try to rewrite or post to the dedicated {forum:id=75} forum.
Regards,
K. -
"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 AMR 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 -
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). -
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-
nullScott 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>
nullHello,
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 -
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> -
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
MWell, 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). -
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.
GabrielReason: the ORACLE server process crashes (sometimes), and the result is the "empty"
socket. -
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.
Maybe you are looking for
-
Print paper size for Purchase order
Hello, We have purchase orders for Japan, Sweden. The requirement from business to print for A4 size and Legal size. What does Legal size mean? Does it mean 'Japan Legal Size' and 'Sweden Legal Size'. Sincerely, Sanjay
-
Dear all, There is one requirement for ME6G - Vendor evaluation in background When we select the variant when we define background job in ME6G in the "STEP", only the variant name is appearing. The requirement is when we press F4 for selection of the
-
Just to elaborate on the question, i have a number of adverts designed in photoshop and saved as hi resolution jpgs however when opening them in acrobat and using OCR i noticed that either none of the text is picked up or partially picked up. are the
-
I work on an office network. I log out every evening. The next morning after I have logged back in to the system and go to FireFox, I find that I have to log back in to iGoogle, MyYahoo, The New York Times even if I've checked "remember me," or "keep
-
Can't log on to CMW (again)
This has happened quite often lately - I start up Nokia Music, and when I click the Comes With Music button, I get a screen saying I need to sign up for CMW? Alternately I get a question asking me if I liked my CMW subscription, and prompting me to r