Skip to Content

JDBC Receiver error

Hi All,

I have a scenario where XI has to pick the file from ftp and update the stagging databse through JDBC.

XI is picking the file, but not getting failed while sending the data to JDBC.

Unable to execute statement for table or stored procedure. 'MSDYNAMICSEMPLINFO' (Structure 'STATEMENT') due to com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'MSDYNAMICSEMPLINFO'.

JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'MSDYNAMICSEMPLINFO' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'MSDYNAMICSEMPLINFO'

Exception caught by adapter framework: null

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. 'MSDYNAMICSEMPLINFO' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'MSDYNAMICSEMPLINFO'

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.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'MSDYNAMICSEMPLINFO' (structure 'STATEMENT'): com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'MSDYNAMICSEMPLINFO'

But the client say that the table is created at their end.

Please help

Edited by: Lavanya Ravi on May 17, 2011 8:01 AM

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

12 Answers

  • Best Answer
    May 17, 2011 at 08:54 AM

    Can you tell me how to check the structure in external definition?

    And one thing is that there are already JDBC scenarios and they are alll working fine. So, if the structure is wrong then the others should also not work right? Do correct me if my understanding is incorrect.

    Thanks everyone for your replies

    Add comment
    10|10000 characters needed characters exceeded

  • May 23, 2011 at 08:42 AM

    In the moni the source has the following structure:

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

    <ns:MT_MSDYNAMICS_IN xmlns:ns="urn:MSDynamics_integration">

    <RECORD>

    <ROW>

    <EMPLOYEE>200</EMPLOYEE>

    <CENTER></CENTER>

    </ROW>

    <ROW>

    <EMPLOYEE>202</EMPLOYEE>

    <CENTER></CENTER>

    </ROW>

    </RECORD>

    </ns:MT_MSDYNAMICS_IN>

    In the IR, the mapping is as follows:

    STATEMENT -> RECORD

    DBTABLENAME -> RECORD

    ACTION -> CONSTANT( INSERT)

    TABLE -> CONSTANT(TABLENAME)

    ACCESS -> ROW

    FIELDS MAPPED ONE TO ONE.

    I have used similar kind of mapping for the other JDBC receiver developments which are working.

    Need help in resolving this please

    Add comment
    10|10000 characters needed characters exceeded

  • May 17, 2011 at 06:20 AM

    HI,

    Please go thru this link. This might help you.

    error-in-jdbc-receiver-channel

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 24, 2011 at 12:04 PM

    Hai!

    U have mentioned that the JDBC target structure is correct.

    Then next u want to check whether your Channel is active. If it active then check the Connection details Driver ,Connection details,Username,pwd every think is correct.if all are correct.

    In the reciver side check whether the table is defined in any other schema in that database.

    For Ex if the data base name is TESTDB and the table name is TESTTABLE then for the lemrnt TABLE in the structure u can give the table name alone. if the table has been defined in anyother schema inside the Database then u want to mention the table as

    TESTSCHEMANAEM.TESTTABLE.

    Regard's

    Preethi.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 17, 2011 at 06:23 AM

    Hi Lavanya,

    Check out for table name in DB end, 'MSDYNAMICSEMPLINFO'. This table is not available at DB side.

    You can also check the availability of the DB table by using external defination in ESR and use your receiver JDBC communication channel to check out for the tables.

    If you do not see any table then inform the same to your DBA.

    This same problem i also faced a couple of days back, DB tables were not visible through CC.

    Thanks,

    Krishna

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 17, 2011 at 07:06 AM
    Add comment
    10|10000 characters needed characters exceeded

  • May 17, 2011 at 08:06 AM

    The problem is due to incorrect structure of receiver JDBC. As you can see the error for parsing data.

    Take help for creating correct structure from below link :

    http://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 17, 2011 at 08:09 AM

    Hi,

    Did you check the receiver JDBC CC in external defination.

    Thanks,

    Krishna

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 23, 2011 at 08:04 AM

    Hi Lavanya,

    Where ever you are using JDBC as receiver you should follw the below structure which has SAP provided. Your XML structure looks like this.

    <StatementName>

    <TableName>

    <action> (attribute)</action>

    <Table>tablename</Table>

    <access>

    <Filed1> </Filed1>

    <Filed2> </Filed2>

    <Filed3> </Filed3>

    </access>

    <key>

    </key>

    </TableName>

    </StatementName>

    You have to maintain the structure like. The error which you are getting might be the issue with the structure which you have defined. Change your structure like the above mentioned hope you will be out of issue. Please update your comments if it works.

    Add comment
    10|10000 characters needed characters exceeded

  • May 24, 2011 at 09:53 AM

    I have tested the mapping seperately and it shows no error.

    I tested the ID seperately using the payload in ID and it is working.

    But when i execute from the beginning, i am getting the error that i had mentioned.

    i also tried to ping the SQL ip from the OS level XI server and the response is received.

    Need help to proceed furthur.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi,

      Can you please cross check the payload structure by clicking on the message id in JDBC communication channel --> Message content.

      Regards,

      Naveen