Escape character for apostrophe ' in JDBC receiver channel

Hi all,
We have Proxy to JDBC scenario in our project. This interface is working fine with unicode data but when there is an apostrophe( ' ) coming in any of the field values ( ex: DOWTHERM 'J' MODEL19QAGB1G ) , the message is failing in receiver JDBC channel.
can anyone please tell us how to handle single quote in JDBC receiver channel.
I have read in SAP help documentation that apostrophe is a reserved character in SQL syntax and is therefore replaced by an escape character if it occurs within value strings. There is a option to JDBC receiver communication channel under "SQL SYNTAX PARAMETER"  to specify the escape character for apostrophe.
Can any please tell us which value needs to be maintained in the channel to avoid this error.
Regards
Jagruthi

Hi Prateek,
Thanks a lot for you inputs.
This issue is solved now. We have replaced single quote with two single quotes and then did the hasQuote mapping as described in the blog.
/people/prateek.srivastava3/blog/2009/04/02/unicode-handling-for-ms-sql-server
No value needs to be maintained in channel(SQL SYNTAX PARAMETER ).
But just want to understand  the difference between replacing the ' with '' in mapping and using SQL SYNTAX PARAMETER option in communication channel.
Both should ideally result in same  output. But it didnu2019t work when we tried with two single quotes in SQL SYNTAX PARAMETER (Escape Symbol for Apostrophe) in communication channel without doing anything in mapping.
Regards
Jagruthi

Similar Messages

  • Using Escape character for Multi character delimiter for flat files in IKM

    Hi
    I have an IKM using Jython, it is working fine for single character delimiter. But as per requirement I have to use multicharacter delimiter ;" (semi colon and double quotes).
    I am taking this into variable using
    filesep = "<%=snpRef.getSrcTablesList("", "[SFILE_SEP_FIELD]", "", "")%>"
    but it is giving lexical error.
    Can anybody help me with the use of escape character in current scenario?
    Any other suggestions are also appreciated.
    Thanks
    Ankit

    Hello,
    A small tweak may solve your problem:
    Instead of :
    CONCATENATE wa_condstr ' bukrs = ' pa_bukrs INTO wa_condstr SEPARATED BY space.
    Use:
    CONCATENATE wa_condstr ' bukrs = ' 'PA_BUKRS' INTO wa_condstr SEPARATED BY space.
    Then use this in SELECT.
    Anyways for your answer the escape character for apostrophe is an apostrophe )
    Try this you will understand:
    DATA:
    V_STR TYPE STRING VALUE ''''.
    WRITE: V_STR.
    BR,
    Suhas

  • Using TEST mode in sender file channel to trigger jdbc receiver channel

    Hi
    In order to call a jdbc receiver channel every 15 minutes I intended to use a file sender channel as a trigger where I set the Processing Mode to TEST. However, I would like to make multiple simultaneous different calls to the jdbc receiver channel, so I have multiple files in the folder, where the file sender channel is listening. Quality of Service in the file sender channel is set to Best Effort as the call is syncroneous.
    However, because the messages in the folder are not deleted, only the first message is being processed no matter whether I choose Processing Sequence "By Date" or "By Name".
    I would like to avoid having to create 15 folders containing one message each, so is there another way of doing it?
    By the way, I redirect the response from the jdbc receiver channel to a different folder, but I think this is irrelevant in this case.
    I use PI 7.11
    /Mikael

    Thanks for your answer, but I would like to avoid using Availability planning.
    Right now I am thinking about using "Advanced selection for source file" and then just specify 14 different folders here each containing one trigger message, but it seems that only the oldest message (if I choose Processing Sequence = Date) or the first message alfabetically (if I choose Processing Sequence = Name) is being processed across the many folders which I think is very weird!

  • JDBC receiver channel problem

    Hi.. 
      I am doing File to JDBC scenario, for that i am using MicrosoftSqlServer.
    Driver----com.microsoft.jdbc.sqlserver.SQLServerDriver
    Connection------jdbc:microsoft:sqlserver://172.18.133.91:1433;DatabaseName=LMS
    While executing, in the JDBC receiver channel it is showing the below error.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: 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:microsoft:sqlserver://172.18.133.91:1433;DatabaseName=LMS': ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    Could please tell where will be the problem.
    Thanks in advance,
    Leela

    Hi ,
    Driver shoud be :
    com.microsoft.sqlserver.jdbc.SQLSeverDriver
    Connection:
    jdbd:microsoft:sqlserver://<ip address>:port;databaseName=TNS
    try with above config..make sure that they are case sensitive.
    Regards,
    Sreenivas.

  • "Error establishing socket" error on JDBC Receiver Channel.

    Dear All,
    Scenario: Soap to JDBC.
    I m getting error on JDBC Receiver Channel. messages are processed succesfully on ABAP Stack and receiver channel is on below error:
    ERROR : Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: 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:microsoft:sqlserver://156.5.202.194:3312;DatabaseName=ODW': SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    Note: i already tested another interface with this same IP and it was fine with different port.
    jdbc:microsoft:sqlserver://IP:PORT;DatabaseName=Name
    Regards,
    Manikandan

    and it was fine with different port
    socket exception is (always) related to port....did you check with the network team about this new Port?

  • Start JDBC Receiver channel twice per day

    Hello,
    I need to get some piece of data from Oracle database twice per day. For example at 12:00am and 12:00pm. Standard JDBC Receiver channel has no needed settings. It has only "poll interval" without exact time.
    I can set up "poll interval" to 12 hours, but this can't guarantee that JDBC receiver channel will works only twice per day. For example after XI system restart JDBC adapter loses time counter. It means that JDBC adapter can starts more than 2 times per day.
    I have only one idea at this moment.
    I can create ABAP program which can be planned as ABAP job at needed time and with needed period.
    This program should send some dummy message to Integration Engine. Integration Engine should start some Integration Process which can read data from Oracle database via JDBC channel.
    What else opportunities are?
    Thanks.
    Best regards,
    Eugeny

    Message deleted
    Message was edited by: Shabarish Vijayakumar

  • Testing JDBC receiver channel

    Hi,
    I am new to XI and I am trying configure JDBC-Receiver channel for testing purpose.
    As documents says native Sql message protocal will be used for testing purpose I have selected that.Note I have given all connection parameters properly.
    In my SQL syntax parameters i have given one query
    'INSERT INTO Test  (name,age,loc) VALUES (‘Prabhakar’, ‘30’, ‘HYD’) '
    and activated the channel.
    Will it directly insert into database with the values in the specified table ?
    or do i need to do any thing else ?
    If it is wrong way,please tell me how to check my receiver channel is working fine or not without going to souruce to target scenario ?

    Hi,
    >>>>Will it directly insert into database with the values in the specified table ?
    no, it won't you need to start it with a message
    have a look at jdbc weblogs in the XI FAQ page documents section
    (link below)
    also have a look at this page:
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    for jdbc document formats (messages which you can send to the jdbc adapter) to update the database
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • JDBC Receiver channel is not showing any payloads

    Hello Experts,
    My interface is ABAP PROXY to JDBC i am facing a strange issue in ECC moni payload is succesful in PI moni also Payload is black colour flag but my Receiver JDBC channel is not showing any thing but it is in green colour (it is not showing neither succes nor error messages logs are empty).Sender chaneels are working only problem with receiver JDBC channels
    In DEV and PROD it it is working in QUAL it is showing this problem.I take the restart of QUAL server still it is behaving like that
    Please throw some light on the issue any help is higlhly apprecaited.
    Regards
    Praveen

    Hi,
    first check in pipe line step call technical routing , mapping execution generated JDBC receiver message pay load or not.
    if it is not generated then check mapping , if is is generated then restart the channel and check what communication channel name you given in receiver agreement.
    monitor the same channel, if all JDBC receiver channels have same behavior then restart the JDBC adapter service in NWA.
    rEGARDS,
    rAJ

  • JDBC Receiver channel

    Hi,
    I have a receiver channel of JDBC type. The database configured in this channel is installed on a different net from XI. Is this a problem? I have seen an error connection of this type:
    Error during database connection to the database URL 'jdbc:odbc:thin:@<IP-Address>:<Port>:DB_PROVA using the JDBC driver 'oracle.jdbc.driver.OracleDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:odbc:thin:@<IP-Address>:<Port>:DB_PROVA': SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified'
    I can't say the real <IP-Address>:<Port>:DB_PROVA string, but it's not important to solve my problem.
    Thanks!

    Hi,
    my JDBC receiver channel give me this error in Runtime Workbench:
    Error during database connection to the database URL 'jdbc:oracle:thin:@<IP_ADDRESS>:<PORT>:<SID>' using the JDBC driver 'oracle.jdbc.driver.OracleDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:oracle:thin:@<IP_ADDRESS>:<PORT>:<SID>': SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: <IP_ADDRESS>:<PORT>:<SID>'
    I have replaced the real IP address, port and sid of my database in this post because they are reserved. I want to know what this message means and what can I do to solve the problem.
    Thanks!

  • Field is missing an escape character for a quote

    Hello ,
    any solution for below error in SSIS.
    Field is missing an escape character for a quote.Unable to update PK WHERE clause.Error processing data batch.
    i tried with convert tool. I ignored that column but still i am facing same error.
    Regards,
    Akshay Adivarekar
    Akshay Adivarekar

    "Field is missing an escape character for a quote.Unable to update PK WHERE clause.Error processing data batch."
    this is the error which i am getting in ssis.
    I am trying to pull data form SAP to SQL sqrver 2012 using SSIS 2012.
    I am using ado.net connector for SAP , Control flow Task.
    I tried with Convert task with dt_str datatype  but its not helping me ,
    even  i ignored that column but still i am facing same error. 
    Actually  sometimes it works properly but sometimes  get error.
    Akshay Adivarekar
    Akshay Adivarekar

  • JDBC Receiver Channel Error

    Hi All,
    Very Urgent!!!
    My scenario is RFC to JDBC async . Earlier scenarion is working fine but not its showing error,
    "Delivering the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error when attempting to get processing resources: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: The resource pool has already been destroyed."
    For that already restart JAVA stack once and change some configuration in receiver channel like, timeout parameter in advence tab and check that "Disconnect from Database after processing each message"
    But same error occurs when I try to resend the data again.
    Please suggest!!
    Thanks,
    Arthita

    Hi All,
    Now showing something else.
    Not showing previous error but status is showing "Message processing started" but after that not processed.
    Please see the SS.
    Please suggest something.
    Thanks,
    Arthita

  • Bypass Adapter URI Endpoint with Escape Character for Web Service

    Dear All,
    I would like to apply by pass adapter URI Endpoint for XI webservice, the default format is
    http://<host>:<port>/sap/xi/engine?type=entry&version=3.0&Sender.Service=<BusinessService>&Interface=<namespace>^<Outbound Interface name>
    If I am using format using with carat () character then there has no problem to the service, but consumer doesn't support carat () character. I instead the carat (^) with URL Escape Character (%5E)
    http://<host>:<port>/sap/xi/engine?type=entry&version=3.0&Sender.Service=<BusinessService>&Interface=<namespace>%5E<Outbound Interface name>
    Then error occurred
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>System Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context/>
                   <code>RCVR_DETERMINATION.MESSAGE_INCOMPLETE</code>
                   <text>Message is incomplete. No Sender found</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    How to resolve this error...
    Thank you.
    Regards,
    Weng

    Hi ,
    as per my knowledge.....................
    When you create a WSDL with the help of a wizard. In the Integration Directory, choose Tools -> Define Web Service to enter the wizard.
    On Propose URL button, as this genertated URL default Point to Entegration Engine.. SO already proformance wise Good.
    If You want to Point your URL to adapter engine , use below given URL this will point ur incoming soap  message to SOAPadapter sender channel
    http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>.
    Regards
    Prabhat Sharma.

  • JDBC Receiver Channel Connection Reset:

    Dear Team,
    I am facing Problem in JDBC Synchronous Receiver Channel.
    when ever the JDBC Channel (Synchronous Receiver) is executing i am getting JDBC Conenction reset error in the Channel monitoring.
    Why this problem is coming and how to rectify the problem?
    In production also we are facing same kind of issue. Please help us find a work around for this Problem.
    I have checked the link
    [Re: JDBC Channel : Connection reset;
    but the link which Siv Marani has mentioned in the above forum doesn't exist any more i guess.
    Please Advice.
    Regards,
    Senthilprakash.
    Edited by: senthilprakash selvaraj on Jan 28, 2009 4:34 AM

    Hi,
    Check below links.
    /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
    https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/thread.jspa%3FforumID%3D44%26threadID%3D38124
    U need to add the parameter SelectMethod=cursor in your connection parameter,
    jdbc:microsoft:sqlserver://<hostname>:1433;DatabaseName=<dbname>;SelectMethod=cursor
    Regards,
    phani

  • Error on JDBC Receiver Channel

    Hi,
    I configured a Receiver JDBC Channel to read data from XI own DB. We are using MS SQL Server 2005.
    During the test, I'm running to the following issue. Any ideas on what could be causing this error:
    Log for CC monitor:
    2010-07-20 13:53:20 Success The message was successfully retrieved from the receive queue.
    2010-07-20 13:53:20 Success Receiver JDBC adapter: processing started; QoS required: ExactlyOnce
    2010-07-20 13:53:20 Success JDBC adapter receiver channel RPI_LOOKUP_JDBC: processing started; party  , service RPI_DB
    2010-07-20 13:53:20 Success Delivering to channel: RPI_LOOKUP_JDBC
    2010-07-20 13:53:20 Success MP: Processing local module localejbs/CallSapAdapter
    2010-07-20 13:53:20 Success MP: Entering module processor
    2010-07-20 13:53:20 Success select sem_datetime, sem_user, sem_host, sem_flag from "/RPI/T_USER" where sem_user=dom1\user1
    2010-07-20 13:53:20 Error JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'query' (structure 'stmt'): com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name '/RPI/T_USER'.
    2010-07-20 13:53:20 Error Unable to execute statement for table or stored procedure. 'query' (Structure 'stmt') due to com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name '/RPI/T_USER'.
    2010-07-20 13:53:20 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. 'query' (structure 'stmt'): com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name '/RPI/T_USER'.
    2010-07-20 13:53:20 Error Exception caught by adapter framework: null
    2010-07-20 13:53:20 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.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'query' (structure 'stmt'): com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name '/RPI/T_USER'..
    2010-07-20 13:53:20 Error The message status set to NDLV.
    Here is the payload:
    <root>
    <stmt>
      <query action="SQL_QUERY">
       <access>
        select sem_datetime, sem_user, sem_host, sem_flag from "/RPI/T_USER" where sem_user='dom1\user1'
       </access>
      </query>
    </stmt>
    </root>
    Connection Settings:
    JDBC Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
    Connection: jdbc:sqlserver://hostname.domain.net;databaseName=XI1;
    I did check on the DB and am able to see the table /RPI/T_USER, with 0 records.
    Thanks in advance,
    Sumant.

    <root>
    <stmt>
      <query action="SQL_QUERY">
       <access>
        select sem_datetime, sem_user, sem_host, sem_flag from "/RPI/T_USER" where sem_user='dom1\user1'
       </access>
      </query>
    </stmt>
    </root>
    Not sure if select, from, where will work in lowercase. Instead of query (node under stmt) should you not mention the table_name?
    <root>
    <stmt>
      </RPI/T_USER action="SQL_QUERY">
       <access>
        SELECT sem_datetime, sem_user, sem_host, sem_flag FROM /RPI/T_USER WHERE sem_user='dom1\user1'
       </access>
      <//RPI/T_USER>
    </stmt>
    </root>
    I did check on the DB and am able to see the table /RPI/T_USER, with 0 records.
    How will the SELECT work then, if the table is with 0 records?
    Regards,
    Abhishek.

  • JDBC Receiver Channels stuck !!!!

    Hello,
    We are facing a very strange situation..
    From our SAP/R3 system we are sending data to 3 databases (3 dif. Countries). And the three of them have different verison of Oracle.
    9.2.0.6 , 9.2.0.8 and 10.2.0.4.
    The problem happens only with channels that are sending to 9.2.0.8 and not all the time.. The problem started after one month from Go Live and now it happens almost one time every week with exception previous week that happend twice the same day!!
    In all channels we have set the following advanced parameters
    taskTimeout                    :120
    driver:oracle.net.CONNECT_TIMEOUT  : 120000
    driver:oracle.jdbc.ReadTimeout     : 120000

    >
    Sarvesh Singh wrote:
    > Basically you go through these two threads to find a permanent solution for this issue..
    >
    > Re: "To be delivered" status in RWB -- Any solution?
    >
    > Messages stucked with status "To be Delivered" and "Delivering"
    Hi Sarvesh,
    I went through those threads..  most of what they are saying we have implemented them...
    .maxReceivers has been set up to 3 with deafaultMaxConsumersPerQueue 10...
    MaxThreadCount has been set up to 500 and in Thread manager  InitialThreadCount has been setup to 80, MinThreadCount to 80 and MaxThreadCount to 120..
    Before setting the above all the Receiver Channels was stuck!!
    What we haven't set is
    1) poolWaitingTime which I did it know and I will wait to see what will happen.
    2) sqlquerytimeout which to be honest I didn't quite understood what is for.. and
    3) messaging.connections which are
    Send.maxConsumers=5
    Recv.maxConsumers=5
    Call.maxConsumers=10
    Rqst.maxConsumers=10
    In one post from the threads you give says that they should be 10,10,20,20
    For now I am waiting to see the next dayu2019s how the system will behave with the poolWaitingTime that I have setup.
    thanks for your answers, and I will let you know.
    BR,
    John B.

Maybe you are looking for

  • How do I find out if Sql server Agent's login has rights to a DB?

    How do I find out if the SQL server Agent's login has rights to the target DB, that is the DB on which I will be executing a query ? Is there a query for this ? Thanks.

  • Satellite P200-1EE - Can I get a Blu-Ray drive for it?

    At last, Toshiba have joined the BDA!!!!!! Does any one know if or when they will release a Blu-Ray drive to replace the HD-DVD drives in a P200-1EE? I know this post may be little premature but I have felt betrayed ever since buying the laptop and 3

  • Why won't my iTunes or game center connect to server?

    everytime I go to download a game or play a game it tells me to sign in, after I have put my password in it then comes up ?

  • Grid Combo Box

    I took the code for creating a combo box inside the grid but I have a problem when I change the label of the column that attached to the combo box. It gave me error about identifier not found. The setDataItemName method I didn't touch it. any idea ,.

  • Canon 5D Mark III "can't recognize card1"

    Hi fellow canon user, I have problem with my 5D, I bought it like 6 month ago. Now, my camera doesn't read any card. I tried to put a blank new SD card and it doesn't work at all. I've tried multiple times, but still doesn't work. Anybody know what h