Skip to Main Content

Java and JavaScript in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Error Code: 17410, SQL State: null - No more data to read from socket

187805Sep 26 2005 — edited Sep 30 2005
Here is a strange situation...I have 2 databases that are both pointing to the same remote database. I have a query (run using ojdbc14.jar - although I don't think it is a java issue):

select sum(x) as TOTAL
from A, B, C.C@remote_db_connect C
where C.pseudo_date_field = to_char(sysdate, 'mmyyyy')
and A.key = C.field_a
and B.field = C.field_b
and A.key not in (1,2,3,4);

A.key and C.field_a are both NUMBER(9)
B.field and C.field_b are both VARCHAR2(25)
C.pseudo_date_field is VARCHAR2(6)
x is a NUMBER(10) on table C.

This query runs fine from Database 1. However, from Database 2, it comes down with Error Code: 17410, SQL State: null - No more data to read from socket

If you replace C.pseudo_date_field = to_char(sysdate, 'mmyyyy') with C.pseudo_date_field = '092005', the query does run from database 2.

I can run SELECT to_char(sysdate, 'mmyyyy') FROM dual; on all 3 databases and get the expected result.

I have tried using the ojdbc14_g.jar files to generate a trace. The only differences I saw were:

Quote:

* The DriverManager.getConnection is pointing to different databases (a given).
* The DBAC OPER DBItem.clone statements have different hash identifiers (also a given).
* Database 1 returns 2 more columns than Database 2 for the statement - SELECT username AS table_schem FROM all_users ORDER BY table_schem
* On the call with the to_char(sysdate, 'mmyyyy') call, Prod gets through 9 DBAC OPER DBItem.clone statements before the call to DRVR OPER OracleResultSetImpl.getMetaData() and PreProd gets through 9 DBAC OPER DBItem.clone statements before the error occurs.
* Due to the error, PreProd skips DRVR OPER OracleResultSetImpl.getMetaData(), DRVR OPER ResultSet.getBigDecimal(columnIndex=1), DRVR OPER OracleResultSetImpl.wasNull(), DRVR OPER OracleResultSetImpl.close(), and goes stright to DRVR OPER OraclePreparedStatement.sendBatch() before appending the Java error information.

I am at a loss as to why the query doesn't work from Database 2. I'm hoping that someone here has an idea. The only information that I saw regarding 17410 errors had to do with LOB/CLOBs in my Google search (and that doesn't make any sense). I have tried updating to the latest ojdbc14.jar file from Oracle (10.2.0.1.0) and have tried both oracle.jdbc.driver.OracleDriver and oracle.jdbc.OracleDriver. Neither one seemed to help.

Thanks in advance for your help. If you need more information, please let me know.

---------------------------------------

Database Information as reported in DbVisualizer

Database 1 (PROD...working)
Oracle
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

Database 2 (PREPROD...not working)
Oracle
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

Linked Database
Oracle
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

I also verified that both Database 1 and Database 2 are using characterset WE8ISO8859P1.

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Oct 28 2005
Added on Sep 26 2005
5 comments
17,070 views