JDBC adapter , problem in inserting Korean Charaters in MS SQL

Hi ,
We are facing a problem when we are inserting "Koren Charaters" in DB of type MS SQL using JDBC adapter.
What we tryed is:
We found that there is a problem in Code Page Conversion.  We tried adding a Modules in Receiver Adapter of type JDBC.
Processing Sequence:
AF_Modules/XMLAnonymizer--Bean Local Enterprise Bean 1
AF_Modules/TextCodepageConversionBean-Bean Local Enterprise Bean-- 2
CallSapAdapter----
Local Enterprise Bean     -- 0
Module Configuration:
1 anonymizer.encoding UTF-16
2 Conversion.charset  UTF-16.
But we are getting the error in CC as:
"Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: ERROR occured parsing request:com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) feff, 3c, feff(:main:, row:2, col:6)(:main:, row=2, col=6) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) feff, 3c, feff(:main:, row:2, col:6)"
also should I have to check any patches related to JDBC driver from MS SQL which supports korean Code Page?
Any one who had face this problem pls give us inputs:
Thanks
Shankar

Hi
In the XML sent to the channel you will have to use a special quoting
for any Unicode strings, which the JDBC Adapter will not produce on its
own. Instead, you need to add an attribute 'hasQuot="no"' to those
elements (most likely in the mapping where you produce the XML) and
explicitly enclose the data in single quotes prefixed with the letter N.
For clarity, one example:
If your original "INSERT" operation looks like this:
<StatementName2>
<dbTableName action="INSERT">
<table>realDbTableName</table>
<access>
<col1>val1</col1>
<col2>val2</col2>
</access>
</dbTableName>
</StatementName2>
and "col1" contains Unicode data, change the document as follows:
<StatementName2>
<dbTableName action="INSERT">
<table>realDbTableName</table>
<access>
<col1 hasQuot="no">N'val1'</col1>
<col2>val2</col2>
</access>
</dbTableName>
</StatementName2>
Regards
Shankar

Similar Messages

  • JDBC Adapter problem

    Hi,
    We have a scenario, data comes SAP via proxy to XI and then SQL DB using JDBC adapter.
    Data is not being updated in SQL DB table.
    SXMB_MONI, shows a chequered flag.
    Any ideas.
    -Naveen.

    HI Naveen,
    First go to RWB->Message Monitoring->Adapter Engine and check in the MEssage Display Tool (MDT) .
    Also check the Adapter monitring. for JDBC adapter.
    Check the Source Messages and Mapped Target Messages in SXMB_MONI...
    Check are you looking/given correct connection parameters/table name in JDBC adapter configration..
    Refresh the cache Also for the Adapter..
    Hope this helps,
    Regards,
    Moorthy
    Message was edited by: Krishna Moorthy P

  • Sapdb (maxdb) and jdbc adapter problem

    Hi,
    i have installed this jdbc file:
    http://sapdb.org/7.4/sap_db_jdbc.htm
    like in this how-to:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how to install and configure external drivers for jdbc and jms adapters.pdf
    then i set up an jdbc to file szenario to test the adapter.
    Driver is: com.sap.dbtech.jdbc.DriverSapDB
    connection is: jdbc:sapdb://sapdb-host/XI_DATA
    with sapdb-host is the db server and XI_DATA ist the database
    user and pw is dba
    sql statement is: SELECT * FROM "AAA_XI_DATA" WHERE "number" = 50
    with AAA_XI_DATA is the table with test data.
    the statment works in the sapdb studio. (No ; in sapdb and the XI)
    but when i have a look at the runtime monitor at the af
    messages there is no message genereated. where can i
    check, if the jdbc driver is working and where do i find
    error messages?
    Regards
    J.
    Message was edited by: Jörg Pieper

    You can check if there is some kind of error with the JDBC Adapter in the Runtime Workbench. Inside the RWB, open "Component Monitoring", "tree view", "Adapter Monitoring", and in the adapter listing you'll find the "JDBC Adapter". It should have a green light. If not, the error will be displayed.

  • JDBC Adapter: DELETE and INSERT in Mapping

    Hi,
    I have a JMS to JDBC interface. While this is straightforward enough, there is a requirement to clear the contents of the table before carrying out the insert
    What I've tried is:
    <MT_Message>
       <Statement>
            <TableClear>
                 <action> .....attribute mapped to SQL_DML
                 <access> ....element mapped to DELETE FROM table
            <TableInsert>
                  <action> .....attribute mapped INSERT constant
                  <table> ......element mapped to Table name
                  <access> ...allthe fields in the table
    The DELETE statement works and the Insert statement work but they won't work together. Is this possible at all? What other options are there in this case?

    I went for two different Statement tags so the structure of the Message Type is:
    <MT_Message>
      <StatementDelete>
             <TableClear>
                 <action> ....attribute mapped to SQL_DML
                 <access> ...element mapped to DELETE FROM Table
      <StatementInsert>
             <TableInsert>
                  <action> ....attribute mapped to INSERT constant
                  <table>  ....element mapped to table name
                  <access> ...all the columns in my table

  • Approx how much time should JDBC adapter take to insert 1.5 million record?

    Hi All,
              What is the optimum time for inserting 1.5 million records to Oracle Staging Table? My scenario ECC to Oracle is taking 3 hours.
    With your previous experience, what do you think about this. Is there a scope of improvement?
    We have a simple insert through JDBC datatype. i.e Action = INSERT.
    Kindly Advice.
    Regards,
    XIer
    Edited by: XIer on Mar 27, 2008 9:20 AM
    Edited by: XIer on Mar 27, 2008 10:02 AM

    Hi,
    >What do you think is the optimum time with your experience...
    We had Similar Situation  after adding Application Server  the time was reduced to 1 hour.  Now  how many App server are available in your XI system ?
    Regards
    Sangeetha

  • JDBC Adapter Doubts

    Hi Guys,
                Could u tell me whata are the operations that can be done using JDBC adapter?
    What are stored procedure calls?
    can there be more than one update statement in JDBC interface?
    Regards,
    Ashish

    Hi,
    >>>>Could u tell me whata are the operations that can be done using JDBC adapter?
    select, insert, update, delete
    >>>What are stored procedure calls?
    http://en.wikipedia.org/wiki/Stored_procedure
    >>>can there be more than one update statement in JDBC interface?
    yes
    Regards,
    michal

  • How many records does JDBC adapter can obtain in one polling?

    Hello everybody,
    I need to do an interface between legacy system and SAP ECC, the legacy systems have a DB so i use the jdbc adapter (sender) and receive the information to SAP ECC with proxy, so i need to activate the polling option from my jdbc adapter working as a sender, i read a table with lot of records, and i need to know how many records does jdbc adapter support when the polling is executed, because is necessary read all records from the table and change the status of the processed field.
    Is possible to get all the records from that table in one polling interval (50,000 records aprox)?, or i need to do the polling by blocks of records until finish all records from the table?, the second option, i dont have idea how can i do it.
    Regards,
    Vicman

    Hi again!,
    i still working on that, but i have a question, is possible to handle Store Procedure in jdbc adapter?? is supported?, like PL SQL, because i was working in the next query but i don't know if it works and where do i need to locate the query in the Query SQL Statement or in Update SQL Statement field or both? but how?.
    DECLARE c_cursor CURSOR FOR
    SELECT * FROM tablename
    WHERE processed=0
    OPEN c_cursor
       FETCH NEXT FROM c_cursor
    WHILE @@FETCH_STATUS = 0
    BEGIN
       update tablename set processed=1
       FETCH NEXT FROM c_cursor
    END
    CLOSE c_cursor
    DEALLOCATE c_cursor
    Regards,

  • Problem in JDBC Adapter Mapping

    Hi all,
    I am working on a scenario wherein i am trying to connect an ORACLE DB to SAP 4.7 system using XI 3.0 . I configured the JDBC Adapter and the JDBC adpter is picking up the message but i have a problem in JDBC adpter Mapping.
    The error message is like this:
    <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_ORACLE_MSGMAP_</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>During the application mapping com/sap/xi/tf/_ORACLE_MSGMAP_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    How to map the "Resultset" from the Adapter to a target message? Can anybody throw some light on how to get the message from the JDBC adpter and map it to some other message format...Any documents regarding this ?
    Waitin for ur replies...
    Bye,
    Romit Shankar Arun.

    Hi,
    Does your other SDN post "Inserting data through JDBC adapter" refer to the same problem?
    I assume you use XMLSPY for creating XSDs.
    I used the XSD posted by you in the other forum thread and tried to generate the XML structure and it does not seem to generate the XML structure in the format required by the JDBC adapter.
    sample file generated from your XSD posted in the other forum thread:
    <?xml version="1.0" encoding="UTF-8"?>
    <resultset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Untitled1.xsd">
         <row action="INSERT">
              <CUSTOMER_NUMBER>String</CUSTOMER_NUMBER>
              <COUNTRY_KEY>String</COUNTRY_KEY>
              <FIRST_NAME>String</FIRST_NAME>
              <LAST_NAME>String</LAST_NAME>
              <AUTHORIZATION_GROUP>String</AUTHORIZATION_GROUP>
              <INDUSTRY_KEY>String</INDUSTRY_KEY>
              <ACCOUNT_GROUP>String</ACCOUNT_GROUP>
              <INTIAL_CONTACT>String</INTIAL_CONTACT>
              <COMPANY_CODE>String</COMPANY_CODE>
              <CITY>String</CITY>
              <CITY_CODE>String</CITY_CODE>
              <COUNTRY_CODE>String</COUNTRY_CODE>
              <DISTRICT>String</DISTRICT>
              <FAX_NUMBER>String</FAX_NUMBER>
              <HOUSE_NUMBER>String</HOUSE_NUMBER>
              <POSTAL_CODE>String</POSTAL_CODE>
              <REGION>String</REGION>
              <TELEPHONE_NUMBER>String</TELEPHONE_NUMBER>
         </row>
    </resultset>
    Compare the above to the template i have mentioned.
    Hope this helps.
    Regards,
    Sridhar

  • Problem with XML SQL  JDBC adapter

    Hello All.
    I have quite strange problem with my PI.
    Whole scenario is SOAP -> JDBC, asynchronous. Everything works fine on DEV server. After transporting objects (using CTS) to QA env I'm getting this error:
    JDBC Message processing failed, due to Error processing request in sax parser:
    No 'action' attribute found in XML document
    (attribute "action" missing or wrong XML structure)
    But document seems to be correct. I've compared it to DEV server documents - they are identical. What could be wrong??
    Document looks like this:
    <ns2:BIPMessage xmlns:ns2="http://mynamespace.com/xi/sn"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <synchSlLok>
       <STATEMENTNAME>
         <SYNCH_SL_LOK ACTION="INSERT">
            <TABLE>SYNCH_SL_LOK</TABLE>
             <ACCESS>
                <ID_TRANS>22050</ID_TRANS>
                <ID_LOK>1234</ID_LOK>
                <ID_CBK>1000050911</ID_CBK>
                <NR_LOK>1234</NR_LOK>
                <OPIS_LOK>12312312312312</OPIS_LOK>
                <TYP>D</TYP>
                <OPERACJA>U</OPERACJA>
              </ACCESS>
          </SYNCH_SL_LOK>
        </STATEMENTNAME>
      </synchSlLok>
      </ns2:BIPMessage>
    TIA
    Best Regads
    Maciej

    Hi,
    i was also facing the same error few days back in a JDBC -RFC-JDBC Synchronous scenario. In that scenario, i was using 2 modules in JDBC sender module tab. It was working fine. later i change polling interval and then i started getting same error. it happened coz of sequence of Module got changed somehow.
    So please check in Receiver JDBC adapter and SOAP sender adapter CC  if anything is changed. If this scenario is working in DEV as it is then it should work after transport.
    Else have a look here
    Re: attribute "action" missing or wrong XML structure
    JDBC - No 'action' attribute found in XML document - error
    Regards
    Aashish Sinha
    Edited by: Aashish Sinha on Mar 15, 2011 10:42 AM

  • 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,
    Akhil

    HI 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

  • JDBC Receiver adapter Error for insert into DB2 table

    Hi all,
    I want to insert data into a DB2 table on AS400 via a Receiver JDBC adapter.
    The communication channel seems to be ok but when I try to send the message, I obtain the following message on the adapter monitoring :
    Error: TransformException error in xml processor class, rollback:
    Error processing request in sax parser: Error when executing statement for table/stored proc. 'GIK.GDT01' (structure 'Statement'): java.sql.SQLException: La table GDT01 de la bibliothèque GIK est incorrecte pour cette opération.
    Could someone help me?
    In the communication channel I have seen we can choose "native SQL String" as message protocol.
    Do you think it could be a workaround for me? if yes, could someone send me an example about it?
    thanks a lot,
    Philippe

    Hi,
    Try to remove GIK.GDT01 in table tag of your XML structure and put GDT01 alone and see.
    The solution to your problem is found on this particular link.
    http://www.websina.com/bugzero/faq/exception-as400.html
    Tell me if it works
    Best regards,
    Felix

  • Facing problem for inserting the  RFC return response in JDBC

    Hi
    Can any one  share views for resulting my problem,
    This is my scenrio(JDBC>RFC>JDBC) logic follows like this:
    Design:
    1. MT--X(request from JDBC(A))
    2. MT--Y(Response to JDBC(A))
    3. Defined Outbound Sync MI(Z) and given request as 'X' and response as 'Y'
    4. Imported BAPI--B
    5. Done MM between X and B-->request mapping(Zmap1)
    6. Done MM between B.Response and Y--->response mapping(Zmap2)
    7. Defined the IM between Z and B
        a. Zmap1 given as request
        3. Zmap2 given as response
    And according to that i have confgured CCs,SA,RA,RD,ID. 
    It seems to be working fine..request map posting data properly in BAPI and also getting response as payload only, but it is not updating in JDBC column, which i mapped as response!it seems to be everry thing is ok..but i dint understand why it is not updating the return response in JDBC side?
    Note: Here i'm not using BPM, without BPM i made synchronous.
    In SxMB_MONI ..i'm getting response as E or S based on rfc return structure.
    Regards
    Rambarki

    Hi,
    I think there is a mistake in your messaage type to insert into JDBC. The format should be,
    <MT>
      <statement>
         <test action="insert">
              <table> </table>
         </test>
         <access>
              <row1>  </row1>
              <row2>  </row2>
         </access>
      </statement>
    </MT>
    Your action is an attribute of <test>.
    Likewise in your case, you Message should be something like,
    <root>
         <statement>
              <Invoice action="insert">
              <table> nameoftable <table>
              <access>
                   <f1> </f1>
                   <f2>     </f2>
              </access>
         </statement>
    </root>
    Check out these links on the various options avaiable for the JDBC adapetr and how the action attribute can be used,
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    Also, check this simple file to jdbc blog for your reference on JDBS adapter,
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    Hope this clarifies and solves a part of your problem,
    Regards,
    Bhavesh

  • DB Insert failed through JDBC Adapter

    Hi all,
    My system is on the latest patches of XI3.0 SP9. I am trying to insert some records into a database through JDBC adapter. The XML arriving at JDBC adapter is:
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns:MaterialDataUpdate_Msg xmlns:ns="http://acsis.com/ManufacturingManagement">
    <MaterialData>
    <TMP_MAT_SERIAL action="INSERT">
      <table>TMP_MAT_SERIAL</table>
      <access>
      <MATNO>0000000012</MATNO>
      <BATCH>32151</BATCH>
      <ITM_SERIAL>453176587769</ITM_SERIAL>
      <WEIGHT>12.34</WEIGHT>
      <T_TIME>2005-01-21 13:21:34.432</T_TIME>
      </access>
      </TMP_MAT_SERIAL>
      </MaterialData>
      </ns:MaterialDataUpdate_Msg>
    The connection to the database looks ok. My JDBC adapter config is pointing to "jdbc:microsoft:sqlserver://sapsrv03:1433;databaseName=JDE".
    In rwb, I got the following error:
    Unable to execute statement for table or stored procedure. "TMP_MAT_SERIAL" due to java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Invalid object name 'TMP_MAT_SERIAL'.
    I have checked the database "JDE", and the table 'TMP_MAT_SERIAL' does exist.
    Does anyone have any idea about this error?
    Thanks a lot for helping!
    Hart

    Hi Hart Liu,
    My system is on the latest patches of XI3.0 SP9. I am trying to insert some records into a database through JDBC adapter.
    We have been facing with problem XSD structure in the jdbc side. We r manually created XSD structure. In the adapter engine we don’t have any action item. In u r mail
    U r structure contains action attribute.
    Can u plz help me out to generate the right XSD structure?
    We have one more doubt, is there any automatically structure-generated option? plz let us know.......
    We r waiting for u r reply....
    Plz help me!!!!!!!!
    Regards,
    Anil

  • How to insert a NULL value in SQL using JDBC Adapter

    Hi All,
    I have a File -> JDBC scenario.
    In the File and in the SQL table  I have a column called "MR_DATE" that needs to be mapped
    I have to do the following:
    If MR_DATE is NOT equal to "00000000"
             then pass MR_DATE to SQL table
    else
              set the MR_DATE column in the table as NULL.
    Please suggest
    regards,
    Piyush

    Hi Piyush,
    In the receiver JDBC adapter select the option Interpretation of Empty String Values as NULL.
    Pass date as empty, it will be interpreted as NULL by adapter and inserted in database.
    Regards,
    Gautam Purohit

  • 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,
    Soorya

    Hi 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

Maybe you are looking for

  • Authorization object  for PLANNING PLANT

    Hi all, My client has different Planning plant & Production plant. If I need to give access to GR for order (MB31), how do I know the authorization object for the Planning plant. User should be given access to MB31 to the Planning plant & NOT to the

  • Update...Version Ten

    After I have updated my iTunes to Version 10, I am unable to sync songs to my iPod Shuffle (generation 2). I can drag them onto my iPod and it does say it is syncing, but it doesn't even go onto my iPod. I am trying to put new songs on and take old o

  • Where is the slice tool located in photoshop cs6?

    I've looked under crop. I have a creative cloud subscription.

  • Airport Express Ethernet for TV ?

    Will this work ? Got a Time Capsule as my router linked to an Airport Express in another room to boost the signal - this works great. My new TV has an ethernet input and is positioned next to the airport express. Could I plug an ethernet cable into t

  • Communicating with C Compiler Toolchain on Remote Machine

    Hi, I'm trying to develop a target for LabVIEW Embedded where the C compiler resides on another machine.  I have a Debian Linux machine hosting my BSP development for my target (MPC5121e); gcc cross-compiler w/patches, ltib, u-boot, etc. is all confi