Problem in inbound JDBC Adapter
My scenario is like sending data from SAP to database through JDBC adapter.
but when i tried to excute my program it is giving follwing message:
Error processing request in sax parser: Error when executing statement for table/stored proc. java.sql.SQLException: ORA-00001: unique constraint (STSC.UDT_PRICELOCZONE_CPK) violated
i am sure there is no duplicate records.
can anyone tell me what the problem?
Hi Suresh,
that message is defintly from your database. Try to execute your stored procedure in debug mode with just the same parameters as in your XML message.
Regards,
Udo
Similar Messages
-
Problem in sender JDBC adapter
hello,
I am facing one typical problem in sender JDBC adapter.
Here is the issue,
JDBC API method getString threw an exception: java.sql.SQLException: Cursor state not valid.
Can anyone please help me out in solving this problem?
Actually after a retry of 3 times the message has been successfully sent. Till then i am getting these error
On 1st attempt ,
Error during conversion of query result to XML java.sql.SQLException: Cursor state not valid
On 2nd attempt,
Error during conversion of query result to XML java.sql.SQLException: Internal driver error
(class.java.lang.InterruptedException)
On 3rd attempt,
Processing finished successfully.
This is the scenario that i can see in the audit log.
Can you please help me out in solving this issue.
Thanks,
SooryaHi gaurav,
It was a good response from your side.
I have gone through the FAQ but could not able to find anything.
Can you please help me out in this regard ?
Also i am using select query of this kind,
SELECT
SEFVHRC.VHRBRCD,SEFVHRC.VHRCUCD,SEFVHRC.VHRVIN,SEFVHRC.VHRMOCD,SEFVHRC.VHRCHAS,
SEFVHRC.VHRSLOR,SEFVHRC.VHRDIVI,SEFVHRC.VHRMGCD,SEFVHRC.VHRMOCH,SEFVHRC.VHRVHTY,
SEFVHRC.VHRBDTY,SEFVHRC.VHRMFYR,SEFVHRC.VHRMOYR,SEFVHRC.VHRMODS,
SEFVHRC.VHRMDTL,SEFVHRC.VHRCLBR,SEFVHRC.VHRRCID,SEFVHRC.VHRARDT,
SEFVHRC.VHRLUTM,SEFVHRC.VHRLUDT,SEFVHRC.VHRKEYN,SEFVHRC.VHRCTORN,
SEFVHRC.VHRCTIMP,SEFVHRC.VHRPRDT,SEFVHRC.VHRPRDT,SEFVHRC.VHRRCDT,
SEFVHFT.VHFCLCD,SEFVHFT.VHFCAT,SEFVHFT.VHFCADSC,SEFVHFT.VHFKEY,SEFVHFT.VHFTEXT1,
SEFVHFT.VHFTEXT2,SEFVHFT.VHFTEXT3,SEFVHFT.VHFTEXT4
FROM
SAPTESTLIB.SEFVHRC,SAPTESTLIB.SEFVHFT
WHERE
SEFVHRC.VHRVIN = SEFVHFT.VHFVIN AND SEFVHRC.VHRSTTS = ' '
and update query of this kind,
Update SEFVHRC SET VHRSTTS = 'R' WHERE VHRSTTS = ' '
I am using prity big select query. is there any option to optimize it?
Can you please help me out in solving this problem
urs,
Soorya -
Problem with a JDBC Adapter when connect to Instance on SQL Server
Hi,
Currently I'm setting up a communication channel with the JDBC adapter to work on a SQL Server database. When I use a string without specifying the connection instance, the JDBC driver takes the default instance and connects to a database without problems.
jdbc: sqlserver: / / Server01; databaseName = IntegraSAP1
The problem is when I need to connect to another instance of it server.
jdbc: sqlserver: / / Server01; instanceName = SAP; databaseName = IntegraSAP2
The JDBC driver, in short, send me the following error:
Cause Exception: 'Error when attempting
to get processing resources: com.sap.aii.af.lib.util.concurrent.ResourcePoolException:
Unable to create new pooled resource: DriverManagerException:
Can not establish connection:: com.microsoft.sqlserver.jdbc.SQLServerException:
The connection to the named instance has failed. Error:
java.net.UnknownHostException: .
I appreciate your help,
Regards,
JohnnyNot sure, might be port number is not required in case using instance. Give one more try with :
jdbc:sqlserver:/ /Server01\SAP; databaseName = IntegraSAP2
A comment from http://msdn.microsoft.com/en-us/library/ms378428.aspx
"SQL Server 2000 and SQL Server 2005 allow for the installation of multiple database instances per server. Each instance is identified by a specific name. To connect to a named instance of SQL Server, you can either specify the port number of the named instance (preferred), or you can specify the instance name as a JDBC URL property or a datasource property."
Regards,
Sunil Chandra -
Problem in Receiver JDBC Adapter
Hello Gurus,
I am trying SAP -> Oracle Database Scenario.
Where i am passing Id and Email address into the Oracle.
In Runtime workbench, Receiver JDBC adapter Channel, i am able to see that message is in Success.
But if i am going into the Database and looking for that Record, it is not updating that record.
I am not able to understand what is happening.
Please help me out in this issue.
Thanks,
AkhilHI Akhil,
I know you might have verified alll datat hat will be passing to JDBC...but may I kindly request you to confirm about the table name that was passed in the Mapping once again.
While inserting or Updating are you using all the Key fields..that will allow you to create the unique entry..as if in case if the record is already exists then there may be problem of Indexing...of adding duplicate entry...and due to partial key fields Update statement will not work properly..
Also verify the ORACLE Database log...to get anymore details.
Thanks
Swarup -
Problem with Sender JDBC adapter while processing the message
Hi,
I am facing some problem while using the JDBC sender adapter.
Here is the trace where i have seen the Socket Closed problem. But it was for few seconds.
Later on it was working fine. This happens intermittently. So it was very difficult to collect the traces.
Please check the trace,
#1.5 #001A4B06B868008500001FF10000555D00045C190344E1D3#1227162409422#c
om.sap.aii.adapter.jdbc.JDBC2XI##com.sap.aii.adapter.jdbc.JDBC2XI.invoke()
#J2EE_GUEST#0##n/a##f30c1fd0b6ca11ddc489001a4b06b868#XI JDBC2XI[JDBC_Send/BSC/]_1235135
##0#0#Warning##Java###Catching #1#java.sql.SQLException:
[Microsoft][SQLServer 2000 Driver for JDBC]Socket closed
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.submitRequest(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at com.sap.aii.adapter.jdbc.JDBC2XI.invoke(JDBC2XI.java:418)
at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java:475)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Can anyone please help me out why I am getting this error intermittently?
Any specific reason so that i can rectify.
Urs,
SooryaHi,
We have checked all those but still we could not find any problem. And we are not getting this error for
continously . Only intermittently. So what could be the reason behind this. It is not remaining for long time.
so please tell me the exact reason behind this problem to overcome this problem for ever.
Thanks
Soorya -
ORA-01001: invalid cursor (Inbound jdbc adapter XI 2.0)
Hello, I get the error ORA-01001: invalid cursor when I try to delete the data in interface table in an ORACLE database. Has anybody an idea of what maybe the problem.
here the text...
14:41:59 (4225): Confirm with statement "delete * from sap_interface.aswaa00f"
14:41:59 (4226): ERROR: Confirm action failed with error "java.sql.SQLException: ORA-01001: invalid cursor
regards
Ernesto DuranHello Prasad, thank you for your response. The problem (limitation) was that the adapter (or the driver) can only update natives ORACLE tables and the table I wanted to update was a gateway table to an external program.
regards
Ernesto Duran -
Problem with Inbound Resource-Adapter
Hi
we have an adapter for bpel that installs as rar in the soa oc4j instance runing on a linux maschine (j2ee+bpel, no http/apache). Because the adapter needs to bound a port <1024 for incoming messages, the application server runs as root-user. Is it possible to run the oc4j-instance as oracle user and bind to that port <1024 by setting a sticky bit? Which binary we have to change? Is there any configuration options to opmn?
Thanks in advance
GregorTurning on Debugging, found the problem:
<[JCABindingManager] activationSpec=null>
<[JCABindingManager] The activationSpec is null, deActivation is skipped>
In the application.xml, I had
1. ejb (mdb) module and then
2. connector module
Changed the application.xml to
1. connector module and then
2. ejb (mdb) module
container then called endpointDeactivation on undeployment. -
Problem with Sender JDBC adapter using StoredProcedures
Hi All,
I am facing some prblem when i am using StoredProcedure. Please look at the error which i observe in the traces when i try to execute a stored procedure using Sender JDBC channel.
SQLException during query 'execute MAG_C0210.dbo.biz_mag_ubicaciones @data="MAG_C0210" , @idciclovida=" ", @idmaestro=" ", @idtiporeplicacion=" "':com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set
Please help me in this regard ASAP.
Cheers,
SooryaHi Praveen,
It is working fine when i executed the same in the SQL editor but when I use with XI it is failing with error
mentioned earlier. Please check this and help in solving this asap.
Regards,
Soorya -
hello,
a very big problem.
I configured in my PI 7.1 installation a JDBC - PI - rfc interface.
When i active the jdbc comunication channel , all cpu saturated and j2ee crash.
I try to restart java stack but is not possible
I think the problem is on jdbc adapter but i cannot stop it if java part is down.
There are solution for stop or delete this comunication channell from abap stack?
does someone already had a similar problem that jdbc adapter generate a crash of system?
thanks>
Alessandro Pederiva wrote:
> ok thanks, we try
> which is the correct connection string for connection on SQL server??
> i used :
>
> driver: sun.jdbc.odbc.JdbcOdbcDriver
> connection : jdbc:odbc:Driver={SQL Server};Server=host;Database=dbname
Are you using a JDBC-ODBC bridge type driver, I am not sure if this is supported by JDBC adapter.....
If it is not try this,
Driver: com.microsoft.jdbc.sqlserver.SQLServerDriver
Connection: jdbc:microsoft:sqlserver://SQLHOSTNAME:PORT;DatabaseName=DBNAME;SelectMethod=cursor -
Sender JDBC adapter...problem
Hi,
the real problem is Sender JDBC adapter sends data in following format.
<?xml version="1.0" encoding="UTF-8"?>
<resultset>
<row>
<Associate_ID>16444</Associate_ID>
<Associate_Name>Sudhir</Associate_Name>
<Status>false</Status>
</row>
</resultset>
But in Design time mapping...structure of source message will be like
<?xml version="1.0" encoding="UTF-8"?>
<ns5:DB2File_DB_MT xmlns:ns5="urn:db2file">
<Resultset>
<Row>
<Associate_ID>16444</Associate_ID>
<Associate_Name>Sudhir</Associate_Name>
<Status>false</Status>
</Row>
</Resultset>
</ns5:DB2File_DB_MT>
How does this tag ... <ns5:DB2File_DB_MT xmlns:ns5="urn:db2file"> get generated in runtime
and apart from 1 to 1 mappings b/w the three fields above in the row tag...wt other mappings to be performed
Pls help...
SunitaHi Sunita,
what i understood from your query is namespace tag is coming while message mapping. This namespace can be avoided in the message type if you keep the XML namespace field empty while creating message type. But i afraid you have to do the message mapping again.
Regards,
Satish -
Sender JDBC Adapter hang after network problem ?
Hi,
I got problem with Sender JDBC Adapter. in the normal condition it is working fine. no problem at all.
The problem coming after network connection problem within XI and database for about more than 24 hours. After the connection resume the Sender JDBC Adapter doesn't want to pickup the data.
Communication Channel Log Showing (Without finish Processing).
6/16/08 5:49:04 PM Processing started
6/16/08 5:48:04 PM Processing started
6/16/08 5:47:04 PM Processing started
6/16/08 5:46:04 PM Processing started
6/16/08 5:45:04 PM Processing started
In normal Communication Channel Showing :
6/16/08 5:33:39 PM efcbd379-6b57-4922-364f-9c047e82ac1b Polling interval started. Length: 30.0 seconds
6/16/08 5:33:39 PM efcbd379-6b57-4922-364f-9c047e82ac1b Processing finished successfully
6/16/08 5:33:39 PM Processing started
6/16/08 5:33:09 PM efcbd379-6b57-4922-364f-9c047e82ac1b Polling interval started. Length: 30.0 seconds
6/16/08 5:33:09 PM efcbd379-6b57-4922-364f-9c047e82ac1b Processing finished successfully
6/16/08 5:33:09 PM Processing started
The problem resolve after restart the whole XI system. is there any other way to solve the problem without restarting the whole xi server. Because i have tried to stop and start the communication channel but still doesn't work until restart the xi. server.
Please advise.
Thank you and Best Regards
FernandCheck JDBC FAQ note 831162
7. Network-Level Connection Problems
Q: The TCP/IP connection to my database host is running over an unreliable network connection, i.e. the connection is sometimes interrupted. Consequently, I sporadically receive an SQLException regarding a closed connection in the system trace or audit log or the connection as well as the JDBC Adapter channel are hanging.
How can I work around this connectivity issue?
A: Enable the "Advanced Mode" for the respective JDBC Adapter channel and select the option "Disconnect from Database After Processing each Message".
Note that this might put additional load on your DBMS due to the creation of a new database connection for each message.
If you are connecting to an Oracle database, also refer to question #10 for an alternative solution. -
Inbound Resource Adapter problem on WebLogic 9
Hi,
I have a problem with inbound resource adapter deployed on WebLogic 9 when it's Work instance in run() tries to create an endpoint configured to RA via endpointActivation() - a call to MessageEndpointFactory's createEndpoint() method blocks if casted to interface that a receiving MDB implements!
Or, to look at the code:
endpoint = (MyMessageListener)factory.createEndpoint(null);
will block. If a cast is removed the call does not block anymore but (of course) it is no longer possible to call an MDB.
Any hints?Turning on Debugging, found the problem:
<[JCABindingManager] activationSpec=null>
<[JCABindingManager] The activationSpec is null, deActivation is skipped>
In the application.xml, I had
1. ejb (mdb) module and then
2. connector module
Changed the application.xml to
1. connector module and then
2. ejb (mdb) module
container then called endpointDeactivation on undeployment. -
JDBC Adapter-XML Document Name
I am working on XI 2.0 and need to change the XML document name I am receiving from an inbound JDBC adapter. The document I am receiving is:
<resultset>
<row>
<col1>ABC</col1>
<col2>123</col2>
</row>
</resultset>
I want to receive:
<MyDocumentName>
<row>
<col1>ABC</col1>
<col2>123</col2>
</row>
</MyDocumentName>
Does anyone know how to override the default "resultset" name from the JDBC adapter??? The reason I need to do this is because my message mapping does not work properly unless I have the Message type of the message from my JDBC adapter as "resultset".
Thanks for your help!
Dan Pettingill(Note: I work with Dan Pettingill, the starter of this thread)
I decompiled the class Renato suggested, but I don't
think that's going to be the solution. The DB2XMBProcesser is dependent on XI properly setting the properties values for the jdbc adapter. DB2XMBProcesser will use a property named "db.documentname" to set the name of the root node of the DB2 results. If no such property is defined, the default value of resultSet is used.
[documentName = getParaWithDefault("db.documentName", "resultset");]
Our problem seems to be that XI is not passing along the parameters we define in the adapter configuration. We've tried numerous combinations and names, but they never take.
The only way we can get XI to recognize that we are sending in a documentName parm is to call it "docName". Any other name is essentially ignored (including db.documentname, documentname, XMB.docName, and a lot of other permutations as well).
But here is the log from that adapter when we do so. Not that it sees the value we're setting, but it won't set the documentname parm going to the jdbc.
2004-08-31 17:33:45 : jdbcListener
Raw configuration data ***
Transport protocol: JDBC, version
Message protocol: JDBC, version
pollInterval|301
additionalParameters|true
jdbcDriver|com.ibm.db2.jcc.DB2Driver
retryInterval|null
dbpassword|***
queryStatement|SELECT * FROM RBPRDB.T1256;
queueName|null
autoCommit|false
updateStatement|Delete from RBPRDB.T1256 Where GUID Is Not Null;
dbdisconnect|false
dbuser|r50445
adapterStatus|active
isolationLevel|2
addParameterParams|*** TABLE , 2 ROWS DEFINED ***
addParameterParams|addParameterParams$0$addParameterParamName$docNamespace
addParameterParams|addParameterParams$0$addParameterParamValue$urn:freescale.com
/xi/db2-ims/wms
addParameterParams|addParameterParams$1$addParameterParamName$docName
addParameterParams|addParameterParams$1$addParameterParamValue$SelectAckQueue
pollIntervalMsecs|null
execute|null
connectionURL|jdbc:db2://WACCTSO.sps.mot.com:9003/WACCDB2T
qualityOfService|EO
Used configuration data ***
'MessageProtocol': 'JDBC'
'adapterStatus': 'active'
'addParameterParams.dbEncoding': ''
'addParameterParams.docName': 'SelectAckQueue'
'addParameterParams.docNamespace': 'urn:freescale.com/xi/db2-ims/wms'
'addParameterParams.docNamespaceScope': 'root'
'additionalParameters': 'true'
'autoCommit': 'false'
'connectionURL': 'jdbc:db2://WACCTSO.sps.mot.com:9003/WACCDB2T'
'dbdisconnect': 'false'
'dbencoding': ''
'dbpassword': '***'
'dbuser': 'r50445'
'documentname': 'resultset'
'documentnamespace': ''
'execute': ''
'isolationLevel': '2'
'jdbcDriver': 'com.ibm.db2.jcc.DB2Driver'
'pollInterval': '301'
'pollIntervalMsecs': '0'
'qualityOfService': 'EO'
'queryStatement': 'SELECT * FROM RBPRDB.T1256;'
'retryInterval': '301'
'updateStatement': 'Delete from RBPRDB.T1256 Where GUID Is Not Null;'
OK - initialized -
JDBC adapter started but no message is created
I am not able to read data through JDBC adapter.
When we are starting our inbound JDBC adapter it get started and does not give any error
but no message is created in XI.When we check status of adapters by clicking main menu it is red.
Log of adapter shows.
JDBC adapter initializd succesfully.
JDBC adapter started.
Process query select * from ??????.
JDBC adapter processing complete.Restart for next processing.
But no message is created in XI.
Can the no of records be the cause of this problem.
Any help appericiatedHi,
You can change the logging and tracing level of the JDBC adapter using the trace and log properties.
Some errors may appear in the adapter_x.log file (see traces from the main menu).
Goodluck -
We get "uFF06uFF03x0;" from sender JDBC adapter
Thank you.
This is naoki kurihara.
We have a problem in sender JDBC adapter.
We use java mapping and sender JDBC adapter in PI7.1 on Windows.(DB is sqlserver)
and we test the interface and we found error.
the reason is to get "&#x0;" from JDBC adapter.
and our java mapping can't parse it. and we got error.
the column is not null.
how we can prevent "&#x0;",
(sorry I cant write "&#" 1byte word, so I wrote 2bytes word)
please give me your help!!
ThanksHi,
Replace the & character with & ; in your java mapping. The same goes for these special characters:
< with < ;
> with > ;
" with " ;
' with &apos ;
Please remove the space between the escape character and the ; in your Java mapping. The spaces are typed here because the equivalent characters are not displaying correctly.
It should be able to handle the # though. Hope this helps
Regards,
Mark
Maybe you are looking for
-
MacOSX (10.9): Print dialogue box does not appear when printing PDF's
Hi there, I've been having some troubles with the latest version of Adobe Reader on an intel-based MacBook Pro running MacOSX 10.9 (Mavericks). Environment Details: Device type: MacBook Pro OSX: 10.9 (Mavericks) Adobe Reader version: 11.0.06 Details:
-
mac book pro is running slowly
-
Using Matlab in Labwindows/CVI
I have a matlab .m file that runs a function. In my Labwindows software, I want to be able to run this function. Is this possible? Thanks.
-
Scanning old photos with Iphone
I bought my first Apple product yesterday which was the Iphone 4. I want to scan old pictures with it and store them into the photo store/shop. Can I do this? It was a reason that I bought. Otherwise I love the phone and Siri.
-
Hi!, I have old Mac Mini containing Mac OS X Version 10.5.8,Processor 2 GHz Intel Core 2 Duo and Memory 1 GB 1067 Mhz DDR3 i want to upgrade it in to 10.6.6 so please give me some suggestion for doing the same.