cancel
Showing results for 
Search instead for 
Did you mean: 

XI - java.sql.SQLException

Former Member
0 Kudos

We are working on XI (PI 7.0 actually) with Oracle 10.2 database. Windows 2003.

When we try to send data from XI to another database SCDB, we get the following error:

<i>Error while inserting the SCDB CM transaction data into the staging table. SCDB # 00140962000. This record can not be processed.</i>

The next thing we did was to go into XI to determine the message error. The error showed a JDBC connection failure when doing an insert to the SCDB staging table.

XI Message Text when JDBC error occurs:

<i>com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SCDB.OLAC_CM' (structure 'Insert'):

<b>java.sql.SQLException: No more data to read from socket</b></i>

ANY IDEAS ??

Cheers

Kunal.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Kunal Bharadwaj,

I think so that your problem may fall under any of these cases.

<b>SURE CASE:</b>

--> This error most likely occurs in applications that use a database connections pool.

--> When the application checked out a connection that has been timed out or has been staled, and used it to connect to the database, this error occurs.

--> You may need to start your Oracle database server as well as your Java application.

--> In a better designed system, however, the staled connection should be cleared out and a new connection should be establised automatically.

In the receiver JDBC adapter, select option --> Disconnect from Database after each message processing and you will no longer face this issue.

<b>CASE-1:</b>

Using EOIO for the sender messages.

Solution:

Take a look at this blog to deal with EOIO message stuck in the AF,

/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-xi-30-adapter-framework

<b>CASE-2:</b>

As per the theory, with out that advanced option, the JDBC should establish the connection.

Solution:

I think this is a bug in oracle database crashing the connection if it stays for longtime with out an activity.

The session should be disconnected after certain time and reestablish when there is a message.

Because the QOS is EOIO in the Sender File Adapter the QOS will continue to be the same for the Receiver JDBC adapter as well.

<b>CASE-3:</b>

Please Refer this following Note:

SAP Note 791284

<b>Case-4:</b>

You would need to conider using the Disconnect from DB option in the JDBC adapter.

Solution:

Reason is that if the Database is actively closing the connection, the first message afer that will always error out in XI.

You would need to manually activate the adapter once again for the connection to be re-established.

If this is a repeated issue, use this option.

If no , then you can ask the DB team to let you be informed of Shut Downs etc in Advance so that manual restart of adapters can be done.

Regards,

Dhayanandh .S