cancel
Showing results for 
Search instead for 
Did you mean: 

Error with Receiver JDBC Adaptor

Former Member
0 Kudos

Hello Experts,

We have a requirement to fetch data from SAP and post it in a DB2/AS400 database table.

I'm new to JDBC adaptors and the client doesnt have any other interfaces to JDBC yet,but I was told that the required drivers are already deployed.

1) How do I check this is correct or not?

I developed this as proxy to jdbc and below is the message I got at the receiver JDBC communication channel:

JDBC message processing failed; reason Error when attempting to get processing resources: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: DriverManagerException: Cannot establish connection to URL 'jdbc:db2://XX.XXX.XXX.X:456/SMSDBT': com.ibm.db2.jcc.b.SqlException: Connection authorization failure occurred. Reason: local security service non-retryable error.

In comm channel , I gave the JDBC Driver as : com.ibm.db2.jcc.DB2Driver

connection: jdbc:db2://XX.XXX.XXX.X:456/SMSDBT

Please advise.

Mathews

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

i think your JDBC adpater is deployed correctly..............

you are getting the above error because the user used in reciver JDBC comm channel in ID is not having proper authorization to connect to target JDBC database.........

Regards,

Rajeev Gupta

Former Member
0 Kudos

If thats the case ,I'm very happy...

Let me check with the DB admin and get back to you guyz...

Again ,how can I find the correct drivers are installed or not?

Former Member
0 Kudos

Hi,

ask your basis guys to open Visual Admin if you have XI 3.0/PI7.0 and then ask them to go to services for server0 and in that there will be JDBC adapter driver and there you will see the list of all included JDBC drivers in it.............

Regards,

Rajeev Gupta

Edited by: RAJEEV GUPTA on Feb 9, 2009 7:21 AM

Former Member
0 Kudos

Hello Experts,

Need help again.I'm getting another error

Unable to execute statement for table or stored procedure. 'XXX.XXXXX' (Structure 'Statement') due to com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: );( SELECT

Error JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'XXX.XXXX' (structure 'Statement'): com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: );( SELECT

Error MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'XXX.XXXX' (structure 'Statement'): com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: );( SELECT

Below is the final payload from message monitoring :

<?xml version="1.0" encoding="UTF-8" ?>

- <ns0:MT_SMS_JDBC xmlns:ns0="urn:XXXXXXX:SAP_SMSInterface">

- <Statement>

- <TEST ACTION="INSERT">

<TABLE>EDG.TSMSMSG</TABLE>

</TEST>

- <ACCESS>

<SENDER_USER_ID>XXXXX</SENDER_USER_ID>

<SENDER_ACCNT_ID>SAP</SENDER_ACCNT_ID>

<RCPNT_MOBILE>966506063563</RCPNT_MOBILE>

<RCPNT_EMAIL>XXXXXXXX</RCPNT_EMAIL>

<MSG_WRITTEN_TMSTMP>2009-10-10-11.11.25.</MSG_WRITTEN_TMSTMP>

<MSG_TEXT>Test Message - Course ABC Changed</MSG_TEXT>

<MSG_LANG_IND>E</MSG_LANG_IND>

<MSG_ID>9999</MSG_ID>

<MSG_ACTION_CODE />

<DLVR_STATUS>P</DLVR_STATUS>

</ACCESS>

</Statement>

</ns0:MT_SMS_JDBC>

Thanks for your advise in advance.

Former Member
0 Kudos

Hi,

your target msg structure for JDBC should be like below:

<ns0:MT_SMS_JDBC xmlns:ns0="urn:XXXXXXX:SAP_SMSInterface">

<Statement>

<TEST ACTION="INSERT">

<TABLE>EDG.TSMSMSG</TABLE>

<ACCESS>

<SENDER_USER_ID>XXXXX</SENDER_USER_ID>

<DLVR_STATUS>P</DLVR_STATUS>

</ACCESS>

</TEST>

</Statement>

</ns0:MT_SMS_JDBC>

i hope you observed the change - your TEST should contain attribute ACTION, subnode TABLE and subnode ACCESS and ACCESS will have all data in it...........

moreover the tablename should be like TSMSMSG and if EDG is database name, then in comm channel configuratin in ID you will tell the database name............

try executing your insert stament in your table directly to see if your record is getting inserted........

Regards,

Rajeev Gupta

Former Member
0 Kudos

Yes ..I noticed my mistake in creating the data structure after I posted the error.

Its working fine now..As always first time is the hardest

Thanks again.

Mathews

Answers (2)

Answers (2)

siddhesh_pathak4
Contributor
0 Kudos

Hello Mathews,

Be sure that in SQL server the authentication mode is set to "MixedMode".

Right click on your DBMS in enterprise manager tool and select "properties" -> "Security"-> "SQL Server and windows"Authentication.

Chek if you (UerId Provided in JDBC adapter) have access to database ( For Update/Delete) also check the Path that you have provided in JDBC adapter.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

Did you check the username/password of your JDBC receiver adapter? Or is the username/password that you've used is authorized to make that DB connection?

Regards,