on 02-25-2007 2:49 AM
Hi,
We are now facing some problems when using Oracle JDBC in XI JDBC Adapter, and this problem happens randomly.
Our oracle is ver 8.1.5, jdbc ver 9.2.0.1 ojdbc14.jar, J2RE 1.4.2 IBM AIX build ca142-20060824.
The following exceptions have been found in log viewer:
Exception caught when executing statement for table/stored proc. 'cgjs_zj_zjb' (structure 'SELECTSTMT'):
java.sql.SQLException: Io exception: There is no process to read data written to a pipe.
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3668)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:850)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2599)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2963)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:653)
at com.sap.aii.adapter.jdbc.SAXHandler.executeQuery(xml2sql.java(Compiled Code))
at com.sap.aii.adapter.jdbc.SAXHandler.executeQuery(xml2sql.java(Inlined Compiled Code))
at com.sap.aii.adapter.jdbc.SAXHandler.SQLsel(xml2sql.java(Compiled Code))
at com.sap.aii.adapter.jdbc.SAXHandler.processList(xml2sql.java(Compiled Code))
at com.sap.aii.adapter.jdbc.SAXHandler.endElement(xml2sql.java(Compiled Code))
at com.sap.engine.lib.xml.parser.handlers.SAXDocHandler.endElement(SAXDocHandler.java(Compiled Code))
at com.sap.engine.lib.xml.parser.XMLParser.scanEndTag(XMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.XMLParser.scanContent(XMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java(Inlined Compiled Code))
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java(Inlined Compiled Code))
at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java(Compiled Code))
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java(Compiled Code))
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.sap.aii.adapter.jdbc.xml2sql.service(xml2sql.java:211)
at com.sap.aii.adapter.jdbc.XI2JDBC.onInternalMessage(XI2JDBC.java:481)
at com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.callSapAdapter(SapAdapterServiceFrameImpl.java:175)
at com.sap.aii.af.modules.CallAdapterWithMessageBean.process_receiver(CallAdapterWithMessageBean.java:226)
at com.sap.aii.af.modules.CallAdapterWithMessageBean.process(CallAdapterWithMessageBean.java:164)
at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_1.process(ModuleLocalLocalObjectImpl0_1.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:264)
at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
at com.sap.aii.af.listener.AFWListenerBean.onMessage(AFWListenerBean.java:267)
at com.sap.aii.af.listener.AFWListenerLocalObjectImpl0_0.onMessage(AFWListenerLocalObjectImpl0_0.java:103)
at com.sap.aii.af.ra.ms.impl.ServicesImpl.deliver(ServicesImpl.java:306)
at com.sap.aii.adapter.xi.ms.XIEventHandler.onDeliver(XIEventHandler.java:1034)
at com.sap.aii.af.ra.ms.impl.core.queue.RequestConsumer.onMessage(RequestConsumer.java:118)
at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java(Compiled Code))
at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
Hope you can help me.
B'Rgds,
YiNing
Hi,
>>>>There is no process to read data written to a pipe.
this may not be an XI error
It's related to the DB that your using:
when you put:
http://www.google.pl/search?hl=pl&q=oracle%22Thereisnoprocesstoreaddatawrittentoapipe.&lr=
you will find many similar errors from oracle forums:
some solved by patching the db server
some caused by high volume of data and slow connection
that's why I'd strongly suggest trying to check that out
on oracle forums (or oracle support)
Regards,
michal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, Michal.
Thank you for your reply.
I didn't say that it's XI error, I've tried search the key words in google, which is funny, a lot of guys said that it's UNIX's bug.
But wherever the problem is, it's integration consultant's problem, isn't it?:)
Actually I've solved this problem by increased the retry times of JDBC commnunication channel, but I'm not sure this problem won't happen any more, for I what I did is just lower the possibility of the problem's occurence.
Hope you can help me.
B'Rgds,
YiNing
YiNing,
>>Actually I've solved this problem by increased the retry times of JDBC >>commnunication channel, but I'm not sure this problem won't happen any more, >>for I what I did is just lower the possibility of the problem's occurence.
so , isnt that a good practice? You tried to make your work more trustworthy...:)
anyways, I noticed in the stacktrace the statement
<b>java.sql.SQLException:IOException</b> ...
if it would have been an Oracle error then you would have seen something like
<b>java.sql.SQLException:ORA-XXXX</b> ... where ORA-XXXX would have given you an Oracle error number clearly stating the underlying cause...not the case with the stacktrace you've mentioned..so I guess the way you are trying it is the only way...
-- Amol
nice trick:)
This problem hasn't been solved yet, and now I found something harder to solve with this Oracle database and it's JDBC when I was using a synchronous scenario.
Check the following adapter log:
2007-02-28 10:03:53 Success Message successfully received by messaging system. Profile: XI URL: http://sapxidev:50000/MessagingSystem/receive/AFW/XI Credential (User): XIISUSER
2007-02-28 10:03:53 Success Using connection JDBC_http://sap.com/xi/XI/System. Trying to put the message into the request queue.
2007-02-28 10:03:53 Success Message successfully put into the queue.
2007-02-28 10:03:53 Success The message was successfully retrieved from the request queue.
2007-02-28 10:03:53 Success The message status set to DLNG.
2007-02-28 10:03:53 Success Delivering to channel: JDBC_RECV_PO_SBC
2007-02-28 10:03:53 Success MP: entering
2007-02-28 10:03:53 Success MP: processing local module localejbs/CallSapAdapter
2007-02-28 10:03:53 Success Receiver JDBC adapter: processing started; QoS required: BestEffort
2007-02-28 10:10:59 Success JDBC adapter receiver channel JDBC_RECV_PO_SBC: processing started; party , service PO_SYS
2007-02-28 10:10:59 Success SELECT BUSID, BUDAT, EDPER, BKTXT, XBLNR, BUZEI, BSCHL, HKONT, LIFNR, NEWUM, DMBTR, GSBER, MATNR, MENGE, ZUONR, SGTXT, XREF1, XREF2, XREF3, IDXSP, MWSKZ, RMVCT, RSTGR, ZTERM, ZFBDT, ZLSCH, XNEGP, KOSTL, AUFNR, LGORT_I, LGORT_O, GRUND, BWART, BSELM, STATS, ERFME, ZZFIELD2 FROM SAP_ZJB WHERE (STATS=O AND EDPER=9105)
2007-02-28 10:11:01 Success UPDATE SAP_ZJB SET STATS=U WHERE (STATS=O AND EDPER=9105)
2007-02-28 10:11:01 Success Database request processed successfully
2007-02-28 10:11:01 Success MP: leaving
2007-02-28 10:11:01 Error Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.MessageExpiredException: Sync application request expired.. Setting message to status failed.
2007-02-28 10:11:01 Error The message status set to FAIL.
2007-02-28 10:11:01 Error Returning synchronous error message to calling application: com.sap.aii.af.ra.ms.api.MessageExpiredException: Sync application request expired..
Between the 2007-02-28 10:03:53 and 2007-02-28 10:10:59, what takes it so long to process? Also it happens randomly.
Since it is synchronous, the remote database table has been updated but the connection with XI has been disconnected for timeout issue, which lead to unrecoverable data inconsistent problem.
Anyone who can help me?
HI,
See the following SAP Notes may be help full
Note 791379 - XI Adapter service properties documentation - regarding Sync communicaiton
Note 831162 - FAQ: XI 3.0 / PI 7.0 JDBC Adapter
Note 941317 - XI / PI JDBC Adapter: Known Problems / Incompatibilities
Note 758563 - Oracle Metalink access for SAP customers
Regards
Chilla..
Hi,
Also see the /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
Regards
Chilla..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.