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

Similar Messages

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

    Hi 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

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

    Hi,
    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

  • 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...
    Sunita

    Hi 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
    Fernand

    Check 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.

  • 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!!
    Thanks

    Hi,
    Replace the & character with &amp ; in your java mapping. The same goes for these special characters:
    < with &lt ;
    > with &gt ;
    " with &quot ;
    ' 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

  • Error while executing the stored procedure through sender JDBC adapter

    Hi All,
    I am getting below error while executing the stored procedure through sender JDBC adapter.
    Database-level error reported by JDBC driver while executing statement 'exec SapgetNextEntity 'SalesOrder''. The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.'. For details, contact your database server vendor.
    what is the problem? any idea to anyone...
    regards
    Ramesh

    hi Dharamveer,
    I am not getting below statement for your reply
    Try to use Refrence Cursor it will return u reference of resultset.
    I mention SP like this
    exec SapgetNextEntity 'SalesOrder'
    SapgetNextEntity -
    > SP Name
    SalesOrder----
    > Parameter I am passing...
    regards
    Ramesh

  • How to use Stored Procedure Call in Sender JDBC adapter

    Hi All,
             Could someone send me a blog on how to use Stored Procedure call in Sender JDBC adapter?
    Xier

    Hi Xler
    refer these links
    /people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    Also, you can check Sriram's blog for executing Stored Procedures,
    /people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
    /people/jegathees.waran/blog/2007/03/02/oracle-table-functions-and-jdbc-sender-adapter
    This blog might be helpfull on stored procedures for JDBC
    JDBC Stored Procedures
    /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
    Please go through these threads and see if it helps...
    Re: How to execute Stored Procedure?
    Re: Problem with JDBC stored procedure
    Thnaks !!

  • Sender JDBC Adapter Supports Stored Procedures????

    Dear All,
    I was trying to use the Sender JDBC adapter to call the Stored procedure in the Sender JDBC adapter is possible to do this???
    I don't think Sender JDBC Adapter is supported to execute the Oracle Started Procedures. With my understanding only the Receiver JDBC Adapter will supported for the Stored Procedures using the message mapping Action = EXECUTE and Table = DBO.EmployeeMasterTable.
    Please let me know how to achieve the below scenario.
    My Scenario JDBC to RFC
    Query SQL Statement:
    select * from dbo.emp where flag = 'Insert' or flag = 'Update' or flag = 'Delete'
    Update SQL Statement:
    UPDATE dbo.emp SET flag = null WHERE flag IN ('Insert', 'Update');
    DELETE dbo.emp WHERE flag = 'Delete';
    In the my update statement I need to update few data flag with Insert , Update and need to delete the of the old records as mentioned above the query.
    In the response mapping I am using the Action = INSERT and Table = emp.
    Thanks,
    Jane F.

    Hi Jane,
    >>My requirment is to select from the DB and update and delete needs to be done. How I need to call this stored procedure in Sender JDBC adapter.
    An example of SP call is mentioned in the previous note Note 941317 - XI / PI JDBC Adapter: Known Problems / Incompatibilities
    SP Code
              ---------- pkg1 ----------
    CREATE PACKAGE pkg1 AS
      TYPE numset_t IS TABLE OF NUMBER;
      FUNCTION f1(x NUMBER) RETURN numset_t PIPELINED;
    END pkg1;
    CREATE PACKAGE BODY pkg1 AS
    -- FUNCTION f1 returns a collection of elements (1,2,3,... x)
    FUNCTION f1(x NUMBER) RETURN numset_t PIPELINED IS
      BEGIN
        FOR i IN 1..x LOOP
          PIPE ROW(i);
        END LOOP;
        RETURN;
      END;
    END pkg1;
    In sender channel mention
    >> SELECT * FROM TABLE(pkg1.f1(5));
    >>Is this need to be in the one stored procedure right. Can ou let me know how it should be handled in JDBC Adapter.
    Yes it shoudl be a single SP. Mention a select statement as given in above example.
    What is your Oracle version?
    Regards
    Suraj

  • Sender JDBC adapter : Update SQL Statement : stored procedure

    Hi,
    Can we use a stored procedure in the sender jdbc adapter in 'Update SQL Statement'.
    The problem i am facing is like, we are selecting data from two tables in 'SQL statement for query' and then in 'Update SQL Statement' , we need to delete that data from these two tables.
    Please let me know if it is possible.
    Thanks,
    Rohit

    you can use a Stored procedure in the
    Query SQL Statement
    You have the following options:
    ·        Specify a valid SQL SELECT statement to select the data to be sent from the specified database.
    ·        Specify an SQL EXECUTE statement to execute a stored procedure, which contains exactly one SELECT statement.
    The expression must correspond to the SQL variant supported by the relevant JDBC driver. It can also contain table JOINs.
    so have your whole select and update as part of this single Stored procedure

  • SENDER JDBC ADAPTER ERROR

    Hi all,
    We are having an extrange problem. We are trying to read some info from an oracle Database, but we have always this error :
    Error: SQLException during query 'SELECT * FROM XX': java.sql.SQLException: ORA-00942: table or view does not exist: SQLException: ORA-00942: table or view does not exist
    And WE have checked it, and the table is there. To understand what is happening we try with another table and it works, we have compare both an has the same features.
    Any Ideas?

    Hi,
    This is the format in which your Data polled from the DB wiill be created,
    <i><resultset>
    <row>
    <column-name1>column-value</ column-name1>
    <column-name2>column-value</ column-name2>
    <column-name3>column-value</ column-name3>
    </row>
    <row>
    <column-name1>column-value</ column-name1>
    <column-name2>column-value</ column-name2>
    <column-name3>column-value</ column-name3>
    </row>
    </resultset></i>
    Resultset is to be replaced by your DT / Message Type name.
    In the Sender JDBC adapter, give the Document Name as the Message Type name and the Document Namespace as the Namespace of your Message Type.
    Is this how you have created the source structure?
    Regards
    Bhavesh

  • Configuring sender jdbc adapter

    Hi all,
    I have a requirement in which i have to select certain data from Oracle table and send it to an IDOC via SAP XI.
    Problem is the select can happen from several tables. For example:
    SELECT col1,col2,col3 FROM <tablename>
    The <tablename> has to be variable. I do not need to do any JOIN. At a time select will be only from a single table i.e. col1, col2, col3 will all belong to the same table. But the adapter should poll multiple tables.
    One more requirement is that once a particular record from a particular table has been selected some UPDATE also need to be done on the same record.
    Pls can anybody provide me with a proper solution.
    This requirement is a bit urgent.
    Thanks in advance.
    Regards
    Neetu

    Neetu,
    You need to have the Table name dynamic in the Sender JDBC adapter's Select Query . This is not possible
    You can consider using a Reciver JDBC adapter for which you can have a look at this blog ,
    /people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
    Or, you need a Separate sender JDBC adapter for every table to be polled.
    >><i>One more requirement is that once a particular record from a particular table has been selected some UPDATE also need to be done on the same record.</i>
    If you are using the Sender JDBC adapter, this would be simple using the UPDATE field of the Sender JDBC adapter .
    If you are planning to use Receiver JDBC adapter, then You need a separate Send Step for this Update.
    Better way to go would be to have separate sender JDBC adapters.
    Regards,
    Bhavesh

  • About sender jdbc adapter

    can I define multiple query statments in sender jdbc adapter?
    because i wanna get multiple recordsets from database according to multiple querty statements.
    like:
    <recordset1>
          <row>
                  <col1>
                 <col1/>
                 <col2>
                 <col2/>
        <row/>
    <recordset1/>
    <recordset2>
          <row>
                  <col1>
                 <col1/>
                 <col2>
                 <col2/>
                 <col3>
                 <col3/> 
                <col4>
                 <col4/>
         <row/>
    <recordset2/>
    such as:   order and order item scenario.
    in general,how to implement the scenario?
    i have to make use of BPM to resolve the problem?
    ple give some hint and stuff about this. thanks a lot!!!

    Hi Joy ,
    Check out this :
    http://www.codeproject.com/Messages/2516517/Re-How-to-write-the-multiple-query-in-single-store-procedure.aspx
    Hope you will find this discussion informative : http://forums.asp.net/p/1021356/1765680.aspx
    Regards,

  • Dynamic query configuration in sender jdbc adapter

    Hi,
    According my undertsnading in XI.3.0 dynamic query in sender JDBC adapter is not possible.
    could any one confirms the possibility of this feature in XI 7.0 .
    Thanks,
    venu

    Hi VJ,
    sorry for late responding to your answer.
    One of our requirements is the query statement that we write in sender communication channel should be changed dynamically, for example in where condition the condition parameters values required to change.
    Thanks,
    venu

  • Stored procedure in Sender JDBC Adapter

    Hi All,
    My Scenrio goes like this ...
    Stored Procedure(SQL Server) --- PI  -
    File
    I need to write the results of  stored procedure to File.Here I don't need any mapping.So how many DT , MT and MI need to be created?
    The interface need to run by 6AM from Monday to Thrusday, how can i achieve this ?
    Stored Procedure has only select statement and no Update statement , but it takes Date as Input parameter , so what i need to provide in sender JDBC adapter.
    Thanks,
    Monish

    Hi Monish,
    As per your requirement it is JDBC to File. Please be careful with the structure to be created for sender JDBC. I am unable to understand why you donot require a mapping for this. How XI will send the data to a file then.As per my knowledge if it's file to file and just pick and drop then we can neglect IR and go for ID.But here you are working with JDBC and File so you will be in need of it.
    IR:
    DT: 2
    JDBC_Sender_DT
    File_Output_DT(Optional)
    You can use the JDBC sender data type structure for File output also.
    MT as per your DT
    MI:2
    Outbound MI: JDBC structure
    Inbound MI : File structure
    MM: 1
    IM: 1
    ID as similar to other scenarios.All 1 objects for RD,ID,Sender Agreement and Receiver Agreement.
    Sender JDBC channel:
    Query: Select * from table where date
    But I have a query how are you providing date in input paramerter.It will be dynamically entered into the query right.
    You can mention the Avalibility planning for your interface to work in RWB.
    Go to RWB>Component Monitoring>Adapter Engine->Communication Channel Monitoring>Avaliablity Planning
    Please explain.
    Regards,
    Nutan

Maybe you are looking for

  • In CRM IC the search pop up for 'To' field  doesn't work

    Hi, I have a case management scenario in IC CRM 4.0 , where i go and search for a consumer in Identify account screen. On clicking 'Confirm' for the consumer i go to navigation link 'Email/ Letter' and try to create a new Email. On the 'To' field i c

  • Changing File Media Type To Podcast

    Hi, I am having issues with a podcast that I have to manually download.  In the past, I would download the file and add it to iTunes.  This would then have it show-up under the media library.  I would then go and change the media type to podcast; thi

  • Premiere Pro CC repeated crashes/instability (Mac)

    I am having extreme instability in Premiere CC working across several projects. Typically and image will freeze with strange horizontal distortions (see image below). Often the entire computer will crash (unable to force quite, etc). I'm working on a

  • Macbook Pro Late 2013 Fan noise problems

    I got the 2013 macbook pro retina the day it came out in the UK and everything is fine but recently there was a graphics card update now the fan runs incredibly loud when it is any full-screen video especially I have noticed Blip Video but not Youtub

  • CCustomer Exit Problem...

    Hi In BI, I created one simple query and have customer Exit Variable with 0Material. and wrote code at appropriate place (ZXRSRU01 Include) in CMOD and write many break points inside my variable. Everythign looks gr8 But i m surprised that Bex is not