JDBC query in the course of a separate EJB transaction

Hi all,
I am implementing a web application that let user upload file and send it to the backend for processing,which involves EJB level transaction(many read+write operations),say transaction L .The processing time may last for 10 minutes. Meanwhile the user can view the history of the files he uploaded and CURRENT STATUS of the file he submitted for processing,we call it file upload history summary (they are from direct JDBC query to the upload history table,say table U in the database,since they are read only data).
My problem is: the user can not see his LATEST file upload status UNTIL the backend processing transaction is completed,although the row for latest file he just submits in Table U was created during the course of the transaction L by an EntityBean UEJB.
I am using Jboss server,do u guys have any idea so that I can see the new file status once it's created by the UEJB even before the transaction L is completed?Thanks

You can achieve this by using JMS and MDB. Because once your file is uploaded, the server is busy in loading the data to the database. So it is not sending you back the response as you are doing a synchronous communication. You have to use Asynchronuous communication to achieve this. This way the client will not wait for the response and the transaction to finish.
While uploading you a send the file as a message object using JMS and MDB. Let the MDB call the other EJB to load the data to the database. Then you can refresh the status browser automatically in certain periods to retrieve data using other EJB like simple access. The browser will automatically submit itself and get the data from EJB while the other EJB uploading the data to the database.
Hope this helps. If you are still not clear write again. I will explain it again.
Thanks
Amit

Similar Messages

  • JDBC, JMS and EJB transactions - possible problem?

    Hello,
              I am using Oracle 9, Weblogic 8.1 SP 4, MyEclipse and
              XDoclet.
              In my current project I have the following piece of code
              in one of my message driven beans (code cited as pseudocode
              without unnecessary details):
              * @ejb.bean name="MyMessageProcessor"
              * display-name="Display name for a MyMessageProcessor"
              * jndi-name="ejb/MyMessageProcessor"
              * description="Bean MyMessageProcessor"
              * destination-type="javax.jms.Queue"
              * transaction-type="Container"
              * acknowledge-mode="Auto-acknowledge"
              * subscription-durability="Durable"
              * generate="false"
              * @ejb.transaction type="Required"
              public class MyMessageProcessor implements MessageDrivenBean, MessageListener {
              public void onMessage(Message msg) {
                   try {
                        //obtaining connections to two different databases via JNDi
                        java.sql.Connection connOne =
                        ((DataSource)ctx.lookup("DataSourceOne")).getConnection();          
                        java.sql.Connection connTwo =
                             ((DataSource)ctx.lookup("DataSourceTwo")).getConnection();
                        // performing some UPDATEs and INSERTs on connOne and connTwo
                        // calling some other methods of this bean
                        //creating the reply JMS message and sending it to another JMS queue
                        Message msgTwo = this.createReplyMessage(msg)
                        this.queueSender.send(msgTwo);
                        //commiting everything
                        this.queueSession.commit();          
                   } catch (Exception ex) {
                   try {
                        if (this.queueSession!=null) this.queueSession.rollback();
                   } catch (JMSException JMSEx) {};     
                   this.context.setRollbackOnly();
              Some days ago (before the final remarks from my client) there used to be only one DataSource configurated on the basis of the
              connection pool with non-XA jdbc driver. Everything worked fine
              including the transactions (if anything wrong happend not only wasn't the replymessage sent, but also no changes were written
              to database and the incomming message was thrown back to the my bean's
              queue).
              When I deployed the second DataSource I was informed by an error message, that only one non-transactional resource may
              participate in a global transaction. When I changed both datasources
              to depend on underlying datasources with transatcional (XA) jdbc drivers, everything stopped working. Even if
              EJB transaction was theoretically successfully rolledbacked, the changed were written to the database
              and the JMS message wasn't resent to the JMS queue.
              So here are my questions:
                   1. How to configure connection pools to work in such situations? What JDBC drivers should I choose?
                   Are there any global server configurations, which may influence this situation?
                   2. Which jdbc drivers should I choose so that the container was able to rollback the database transactions
                   (of course, if necessary)?
                   3. Are there any JMS Queue settings, which would disable the container to send message back to the
                   queue in case of setRollbackOnly()? How should be the Queue configurated?
              As I am new to the topic and the deadline for the project seems to be too close I would be grateful
              for any help.
              This message was sent to EJB list and JDBC list.
              Sincerely yours,
              Marcin Zakidalski

    Hi,
              I found these information extremely useful and helpful.
              The seperate transaction for sending messages was, of course, unintentional. Thanks a lot.
              Anyway, I still have some problems. I have made some changes to the
              code cited in my previous mail. These changes included changing QueueSessions
              to non-transactional. I also set the "Honorate global transactions" to true.
              I am using XA JDBC driver. After setting "Enable local transactions" to false
              (I did it, because I assume that JDBC transactions should be part on the global
              EJB transaction) I got the following error:
              java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA
              driver supports performing SQL operations with no global transaction, explicitly allow it by setting
              "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local
              transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To
              complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
              I have also inspected the calls of methods of bean inside of onMessage() method just to check, whether
              the transactions are correctly initialized (using the weblogic.transaction.Transaction class).
              My questions are as follows:
              1. Any suggestions how to solve it? I have gone through the google answers on that problem and only
              thing I managed to realize that JDBC must start its own transaction. Is there any way to prohibit it
              from doing that? Can using setAutocommit(true/false) change the situation for better?
              2. How to encourage the JDBC driver to be a part of EJB transaction?
              3. As I have noticed each of ejb method has its own transactions (transactions have different
              Xid). Each method of the bean has "required" transaction attribute. Shouldn't it work in such
              way that if already started transaction exists it is used by the called method?
              4. The DataSources are obtained in my application via JNDI and in the destination environment I will have slight
              impact on the configuration of WebLogic. What is least problematic and most common WebLogic configuration which would
              enable JDBC driver to participate in the EJB transaction? Is it the WebLogic configuration problem or can it be
              solved programmically?
              Currently my module works quite fine when "enable local transactions" for DataSources is set to true, but this way
              I am loosing the ability to perform all actions in one transaction.
              Any suggestions / hints are more than welcomed. This message was posted to jdbc list and ejb list.
              Marcin

  • In JDBC Sender Adapter , the server is Microsoft SQL .I need to pass current date as the input column while Executing stored procedure, which will get me 10 Output Columns. Kindly suggest me the SQL Query String

    In JDBC Sender Adapter , the server is Microsoft SQL .I need to pass current date as the input column while Executing stored procedure, which will get me 10 Output Columns. Kindly suggest me the SQL Query String , for executing the Stored Procedure with Current date as the input .

    Hi Srinath,
    The below blog might be useful
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/03/06/executing-stored-procedure-from-sender-adapter-in-sap-pi-71
    PI/XI: Sender JDBC adapter for Oracle stored procedures in 5 days
    regards,
    Harish

  • Possible Bug? SQL query changing the Cursor Type from Scrollable to non Scrollable in a ResultSet

    Hi all,
    I've been beating my head against this for a few days now, and while
    there is a workaround, I haven't found out what's causing this to
    happen.
    Every other SQL query except for this one particular query works fine
    and returns a scrollable result set. That one query on the other hand,
    returns a non-scrollable result set.
    Here's the code which is calling the query:
    sqlStatement = getSQLFromFile();
    debug("SQL statment = " + sqlStatement);
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    debug(sqlStatement);
    rst = stmt.executeQuery(sqlStatement);
    debug("The type is " + rst.getType());
    rst.last();
    For most queries, the output is "The type is 1004" - which means the
    resultset is scrollable - as it should be.
    For one particular query, the output is "The type is 1003" which means
    that the result set is of type forward-only.
    Of course, calling rst.last() fails in the second case.
    If the difference between the queries was drastic, I might have
    something to go on. I've tested this out with different size queries,
    but the switch between having the type incorrectly changed is the
    deletion of a 0x0a 0x0d on the first line.
    I.E. this means the failing query reads :
    "select
    from........."
    and the query which works reads
    "select *
    from........."
    I've looked at the failing query in it's binary format, and that's the
    only difference I can discern.
    To further confuse things, there are other queries which have a
    similar format - and which work.
    I've read about a bug in Weblogic 5.1 SP9 which ignores the setting of
    the Statement to return a ResultSet with a scrollable cursor, and
    while this seems to be a bug, it doesn't seem the same bug at all -
    besides, I'm using Weblogic 6.0 with SP1 on a W2K system.
    Does anyone have any ideas as to what might be causing this? I'm
    stumped..

    Ryan D'Silva wrote:
    Hi Joe,
    I'm using the Oracle thin driver -
    oracle.jdbc.driver.OracleDriver - version #8.1.6.0.0
    and the DBMS is
    "Oracle9i Enterprise Edition Release 9.2.0.2.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.2.0 - Production"
    Does that help?Yes. Two things: TYou should probably upgrade the oracle thin
    driver, by downloading the latest appropriate one from their site,
    and make sure it's ahead of all weblogic jars in the classpath the
    server builds for itself. Also, let's see how simple we can make the
    problem. Would you please repeat the JDBC that demonstrated the problem,
    in a small standalone java program that uses a direct thin driver connection,
    getting weblogic out of the picture? (The problem does sound like
    and oracle driver issue).
    Joe
    >
    >
    Thanks,
    - ryan
    You don't say what DBMS and what JDBC driver you're using for the pool.
    That is likely to be the issue. Let me know.
    Joe
    Here's the code which is calling the query:
    sqlStatement = getSQLFromFile();
    debug("SQL statment = " + sqlStatement);
    stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    debug(sqlStatement);
    rst = stmt.executeQuery(sqlStatement);
    debug("The type is " + rst.getType());
    rst.last();
    For most queries, the output is "The type is 1004" - which means the
    resultset is scrollable - as it should be.
    For one particular query, the output is "The type is 1003" which means
    that the result set is of type forward-only.
    Of course, calling rst.last() fails in the second case.
    If the difference between the queries was drastic, I might have
    something to go on. I've tested this out with different size queries,
    but the switch between having the type incorrectly changed is the
    deletion of a 0x0a 0x0d on the first line.
    I.E. this means the failing query reads :
    "select
    from........."
    and the query which works reads
    "select *
    from........."
    I've looked at the failing query in it's binary format, and that's the
    only difference I can discern.
    To further confuse things, there are other queries which have a
    similar format - and which work.
    I've read about a bug in Weblogic 5.1 SP9 which ignores the setting of
    the Statement to return a ResultSet with a scrollable cursor, and
    while this seems to be a bug, it doesn't seem the same bug at all -
    besides, I'm using Weblogic 6.0 with SP1 on a W2K system.
    Does anyone have any ideas as to what might be causing this? I'm
    stumped..

  • Running Web Layout Of JDBC Query in Oracle Report Builder 11g.

    javax.servlet.jsp.JspException: REP-4100: An attempt to execute data source failed. JDBCPDS-62008:A SQL error occurred: {0}. S1000 [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt
    javax.servlet.jsp.JspException: REP-4100: An attempt to execute data source failed.
    JDBCPDS-62008:A SQL error occurred: {0}.
    S1000 [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt
         at oracle.reports.jsp.ForEachTag.doStartTag(ForEachTag.java:407)
         at jsp_servlet.__module1000802592._jspService(__module1000802592.java:191)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:417)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    For the more clarification, I have used JDBC Query as Data source type and Database connected via ODBC Driver in System DSN. The Driver selected from the drop-downs are jdbc-odbc.
    Kindly explain the mistake I m doing.

  • How to use a jdbc query result to redirect to a variable html page

    uh, my problem is that i'm making a servlet which should redirect to a variable html page based on jdbc query (I'm really sorry if this is not the correct forum to post it, but since it's jdbc i thought it was).
    Anyway, the problem is that when a string say, "mystring" is equal to the value in a column, say "column1" of the database then page should redirect to "mystring.html".
    Is this possible, if so then how?
    and if not then is there any other way to solve my problem?
    please, help!!
    thanks in advance.

    uh, since i've already asked man, please gimme an answer if you know, it'll be appreciated.
    OK, HERE'RE THE DETAILS:(as you requested them)
    i have an html page where there's a textfield say "t1", the value of that text field is sent to the servlet which compares the value of the field with the value in Database, say "db1" in column say "column1".
    if there's a value in the column matching the value inputted in the textfield, then i need the servlet to redirect to an html page of the same name as inputted in the textfield. Hope that helps you understand.....
    thanks in advance.......

  • Receiver JDBC query

    Hi Experts,
    I would like to know can we find the Query in the PI system at runtime  if the JDBC channel is at the receiver end.
    I am sending the values from SAP to database for updating the data.
    Thanks,

    Could you please let me know where exactly I can see the information in SXMB_MONI ?

  • JDBC query theme in a JSP page

    Hi, everyone
    I tried to write JDBC query theme in a JSP page at MapViewer, but it did not work.
    The following is the codes.
    1.JDBC theme in a map request in XML
    <theme name="jdbc_theme_contour">
    <jdbc_query
    datasource="spatial10g"
    jdbc_srid="8703"
    spatial_column="geom"
    render_style="C.RED">
    Select geom from contour where time='01-JUL-07'
    </jdbc_query>
    </theme>
    2. JDBC theme in a JSP request.
    "<theme name=\"jdbc_theme_contour\" >\n" +
    " <jdbc_query \n" +
    " jdbc_srid=\"" + srid + "\"\n" +
    " datasource=\"" + dataSource + "\"\n" +
    " spatial_column=\" geom \"\n" +
    " render_style=\"C.RED\" >\n" +
    " SELECT geom from contour where time='01-JUL-07' \n" +
    " </jdbc_query> \n" +
    " </theme> \n" +
    I do not know whether the second form is right or not. I did not display the JDBC query in MapViewer. Does anyone know the second form is right? or Maybe give me a right form in a JSP request. (contour is a table , geom is the column of geometry attribute in contour)
    Gengsheng

    Hi
    Here is the map request in JSP
    // Construct a map request
    mapRequest = "xml_request=" +
    "<?xml version=\"1.0\" standalone=\"yes\" ?>\n" +
    "<map_request \n" +
    // " title=\"" + title + "\"\n" +
    " datasource=\"" + dataSource + "\"\n" +
    " basemap=\"" + basemap + "\"\n" +
    " width=\"" + width + "\"\n" +
    " height=\"" + height + "\"\n" +
    " bgcolor=\"#FFFFFF\" >\n" +
    " format=\"PNG_URL\" >\n" +
    " <center size=\"" + size + "\">\n" +
    " <geoFeature>\n" +
    " <geometricProperty typeName=\"center\">\n" +
    " <Point>\n" +
    " <coordinates>\n" +
    " " + cx + ", " + cy + "\n" +
    " </coordinates>\n" +
    " </Point>\n" +
    " </geometricProperty>\n" +
    " </geoFeature>\n" +
    " </center>\n" +
    "<themes> \n" +
    (flood.equals("true")?
    ("<theme name=\"jdbc_theme_contour\" >\n" +
    " <jdbc_query \n" +
    " jdbc_srid=\"" + srid + "\"\n" +
    " datasource=\"" + dataSource + "\"\n" +
    " spatial_column=\"GEOM\"\n" +
    " render_style=\"C.RED\" >\n" +
    " SELECT * from contour where time='01-JUL-07' \n" +
    " </jdbc_query> \n" +
         " </theme> \n") : "") +
         (waterdepth.equals("true")?
         (" <theme name=\"FLOOD.LINKS\" >\n" +
         " </theme> \n") : "") +
         " <theme name=\"net_theme\" user_clickable=\"false\"> \n" +
    " <jdbc_network_query \n" +
    " network_name=\"" + networkName + "\"\n" +
    " network_level=\"1\" \n" +
    " jdbc_srid=\"" + srid + "\"\n" +
    " datasource=\"" + dataSource + "\"\n" +
    (showlinks.equals("true")?
    (" link_style=\"L.CRM_SROADS\"\n") : "") +
    (showlinks.equals("true") && showdir.equals("true")?
    (" direction_style=\"M.IMAGE105_BW\"\n" +
    " direction_position=\"0.75\"\n" +
    " direction_markersize=\"" + dirsize + "\"\n") : "") +
    (showlinks.equals("true") && showlklabels.equals("true")?
    (" link_labelstyle=\"" + lklbstyle + "\"\n" +
    " link_labelcolumn=\"link_id\"\n") : "") +
    (shownodes.equals("true") ?
    (" node_style=\"M.CITY HALL 4\"\n" +
    " node_markersize=\"" + nodesize + "\"\n") : "") +
    (shownodes.equals("true") && showndlabels.equals("true")?
    (" node_labelstyle=\"" + ndlbstyle + "\"\n" +
    " node_labelcolumn=\"" + ndlbcolumn + "\"\n") : "") +
    (showpath.equals("true") ?
    (" path_ids=\"" + pathid + "\"\n" +
    " path_styles=\"L.PH\"\n") : "") +
    " asis=\"false\"></jdbc_network_query> \n" +
    " </theme> \n" +
    (runanalysis.equals("true") &&
    (algorithm.equals("DIJKSTRA") || algorithm.equals("ASEARCH")) ?
    (" <theme name=\"spath_theme\" user_clickable=\"false\"> \n" +
    " <jdbc_network_query \n" +
    " network_name=\"" + networkName + "\"\n" +
    " network_level=\"1\" \n" +
    " jdbc_srid=\"" + srid + "\"\n" +
    " datasource=\"" + dataSource + "\"\n" +
    " analysis_algorithm=\"" + algorithm + "\"\n" +
    " shortestpath_style=\"L.DPH\"\n" +
    " shortestpath_startnode=\"" + startnode + "\"\n" +
    " shortestpath_endnode=\"" + endnode + "\"\n" +
    " shortestpath_startstyle=\"M.STAR\"\n" +
    " shortestpath_endstyle=\"M.CIRCLE\"\n" +
    " asis=\"false\"></jdbc_network_query> \n" +
    " </theme> \n") : "") +
    "</themes>\n" +
    "</map_request>\n";
    in this request, other themes and JDBC network query theme work except the JDBC query theme. I guess the style or format in the following are not right.
    " spatial_column=\" geom \"\n" +
    " SELECT geom from contour where time='01-JUL-07' \n" +
    Anyway, I hope you can give me instructions.
    Gengsheng

  • JDBC query against Sybase through jConnect5.5 in Oracle 9i Reports Builder

    Hi There,
    I am trying to connect to Sybase using JDBC query using jConnect55 driver.
    I am not able to do so. I get an error:
    ERR 62002: Failed to connect to the datasource JZ0D5 JZ0D5: Error loading protocol com.sybase.jdbc2//255.255.255.255//255.255.255.255
    Driver entry in my jdbcpds.conf file is
    <driver name ="jConnect55"
    subProtocol ="sybase"
    connectString ="mainProtocol:subProtocol://databaseName"
    class = "com.sybase.jdbc2.jdbc.SybDriver"
    connection = "oracle.reports.plugin.datasource.jdbcpds.JDBCConnectionHandling" loginTimeout = "0">
    <property name="DatabaseName" value="tempdb"/>
    </driver>
    The entry I make in jdbc query connection dialog box is as under:
    User Name:test
    password:secret
    Databse: 255.255.255.255:9999/tempdb
    Driver Type: jConnect55
    Can you point me where I am wrong?
    Thanks in advance
    Ketan Patel

    Hi Sachin,
    I too, got through the issue. Sorry am bit late in updating you. But still I would say it is not on consistent(my feedback as per I grabbed from the behavior. Say, I accepted the query in a particular order of WHERE clause, then If I change the order it will throw an error message saying "Incorrect syntax".)
    Anyway working fine. Thanks for your immediate response with useful hints.
    Rgds
    Anand
    Hi Anand,
    Yes, JDBCPDS accepts all Select queries which follows SQL Specification.
    It would be a valid query as per the database used.
    Please try again, Bind parameters can be placed in any or all of the conditions of SQL Query in JDBCPDS.
    I am able to use them in both the cases you told.
    With Regards
    Reports team

  • JDBC Query using PL/SQL

    I have gotten this to work in my Reports class but can not get this to work at my company. Basically I'm trying to use the JDBC query in Report Builder.
    Here is my Ref Cursor Code:
    CREATE OR REPLACE PACKAGE SCOTT.types is
    type sqlcur is REF cursor;
    end;
    Here is my Pl/SQL function:
    CREATE OR REPLACE FUNCTION SCOTT.test return Scott.types.sqlcur is
    c1 Scott.types.sqlcur;
    begin
    open c1 for select * from scott.emp;
    return c1;
    end;
    I can get this to work in SQL Plus by doing the following:
    var r refcursor
    exec :r := test;
    print r When I go into Reports Builder->JDBC query I connect to the SCOTT db using tiger as the password. I type in the function name TEST and get the error "wrong number or types of arguments in call TEST". I have tried "call TEST" but that doesnt work either. If I use "call TEST" I get an error saying it expected characters ":=(@" etc....
    I know my connection works because I can do a "select * from emp" and get results. Can anyone get this to work?
    I'm running Report Builder 9.0.2.0.3
    I have done multiple searches on this issue and most responses point someone to links that dont work or documentation. I have read them and my code above should work but doesnt........Please put some real examples or code that works with the "Scott" schema.
    Thanks

    hi Shawn
    When running jdbc quesry based on SP with Oracle DB, the first parameter of the store procedure should be of ref cursor type and it shall be a OUT parameter.
    For example:
    CREATE OR REPLACE PACKAGE jdbcpdspkg AS
    TYPE Empcur IS ref cursor ;
    procedure proc_with_param      (p_emp_cv out jdbcpdspkg .empcur, p1 in number, p2 in number , p3 in number, p4 in number , p5 in number) ;
    Thanks
    Rohit

  • How to tune this query for the improve performance ?

    Hi All,
    How to tune this query for the improve performance ?
    select a.claim_number,a.pay_cd,a.claim_occurrence_number,
    case
    when sum(case
    when a.payment_status_cd ='0'
    then a.payment_est_amt
    else 0
    end
    )=0
    then 0
    else (sum(case
    when a.payment_status_cd='0'and a.payment_est_amt > 0
    then a.payment_est_amt
    else 0
    end)
    - sum(case
    when a.payment_status_cd<>'0'
    then a.payment_amt
    else 0
    end))
    end as estimate
    from ins_claim_payment a
    where a.as_of_date between '31-jan-03' and '30-aug-06'
    and ( a.data_source = '25' or (a.data_source between '27' and '29'))
    and substr(a.pay_cd,1,1) IN ('2','3','4','8','9')
    group by a.claim_number, a.pay_cd, a.claim_occurrence_number
    Thank you,
    Mcka

    Mcka
    As well as EXPLAIN PLAN, let us know what proportion of rows are visited by this query. It may be that it is not using a full table scan when it should (or vice versa).
    And of course we'd need to know what indexes are available, and how selective they are for the predicated you have in this query ...
    Regards Nigel

  • Problem with jdbc query

    hi
    i have a problem in executing a query in jdbc. i.e it executes all the query but the effect of last query is not reflected in database(Ms Access). if i use one query it will work properly.this problem occurs when i use more than one query. could tell me whether this is Ms Access problem or other. give solution to this.
    Ramadoss N.

    solve thisevery thing ok ?
    Learn "How To Ask Questions The Smart Way".
    Then come back and ask again.

  • JDBC Query Single Row service Parse Query

    Using JDBC Query Single Row service on an Oracle database,
    I specify a SQL statement like this:
    select abc, to_char(aDate, 'MM/DD/YYYY') from xyz where def = 123
    then I click the "Parse Query" button to try to map the query results to my variables, but the mapping window gives me 3 fields instead of 2:
    1. abc
    2. to_char(aDate)
    3. 'MM/DD/YYYY'
    how do I let it understand that there are only 2 fields in the results so that I can map it properly?
    thanks

    Got a new minor issue unrelated to the above, but I don't want to flood this forum with another new topic, so I'll stick this new thing here.
    I have a very simple process that only contains this JDBC Query Single Row service.
    In this query single row service, at the bottom of the property sheet, there's a section where it says "number of rows retrieved"...
    now, if I map this 'number of rows' to a variable (I set the variable's type as "int"), when I call my process (as a web service), it returns me nothing... all the output parameters are empty.
    If I remove the mapping of "number of rows", that is, there's nothing in that bottom section. Then my process works correctly, all the output variables contain correct data from my database.
    Has anybody encountered this? what's your solution please?

  • Portal time out with large jdbc query in JSP bean

    Hi,
    My JSP portlet always times out while waiting to complete two large JDBC queries. The error shown in my jserv.log file is:
    [28/03/2002 12:41:51:221 GMT+08:00] page/Fetching timed out for an Unknown Reason. Killing fetcher name=content-fetcher2 label=174 url=http://mephistopheles.au.oracle.com/servlet/agcharts time=120633
    [28/03/2002 12:43:10:595 GMT+08:00] page/UncaughtException in thread name=content-fetcher2, starting a new fetcher after exception
    java.lang.ThreadDeath
    Is there some particular settings I can modify to prevent the content fetcher from timing out? Cheers

    Thanks. The charts portlet now can be delayed up to the required ~10mins before returning data from the large query. This works in conjunction with changes in the directives/parameters for Jserv and httpd(Note:180548.1)
    Shankar,
    Normally, you can increase the time out in the portlet tag of the provider.xml file. The timeout is in seconds, you should also increase the provider timeout. This is done in the provider registration screen.
    <timeout>60</timeout>
    <timeoutMessage>My Portlet Timed Out</timeoutMessage>
    Please note that if you set the timeout too high and your portlet is really not coming up, you page will wait the 60, 90, 120, etc seconds for the portlet to timeout, so be careful will portlet and provider timeouts.
    Sue

  • Mm.mysql JDBC Driver and the WHERE clause

    Anybody has succesfully performed a MySQL/JDBC query in a JSP application using more than one variable in the WHERE clause?
    It works fine when I run queries with one fixed value assigned to a column and one variable assigned to the other column in the WHERE clause; but when I do it with more than one variable in the WHERE clause, it screws up throwing an error.
    I wonder if it is a code error, a syntax error or if it is something tricky about the mm.mysql JDBC Driver. Following is a section of the code and the error. The variables are s_description and s_status. I read some examples in a book but they use SQL Server. Thank you in advance for any information.
    CODE:
    <% String sqlStatement = "" ; %>
    <% String s_description = "Mexican Style Rice" ; %>
    <% String s_status = "available" ; %>
    <% java.sql.Statement stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_UPDATABLE); %>
    <% java.sql.ResultSet rs ; %>
    <% sqlStatement = "SELECT code, description, status FROM products WHERE products.description =" + s_description + " AND products.status =" + s_status + ";" ;%>
    <% rs = stmt.executeQuery(sqlStatement); %>
    <% rs.beforeFirst(); %>
    <% while (rs.next()) { %>
    <% rs.updateString(3, "sold"); %>
    <% rs.updateRow(); %>
    <% }%>
    <% rs.close(); %>
    This is the ERROR it throws
    java.sql.SQLException: Column not found: Unknown column 'available' in 'where clause'
         at org.gjt.mm.mysql.MysqlIO.sendCommand(MysqlIO.java:497)
         at org.gjt.mm.mysql.MysqlIO.sqlQueryDirect(MysqlIO.java:550)
         at org.gjt.mm.mysql.MysqlIO.sqlQuery(MysqlIO.java:635)
         at org.gjt.mm.mysql.Connection.execSQL(Connection.java:882)
         at org.gjt.mm.mysql.Connection.execSQL(Connection.java:815)
         at org.gjt.mm.mysql.Statement.executeQuery(Statement.java:169)
         at org.gjt.mm.mysql.jdbc2.Statement.executeQuery(Statement.java:78)
         at pagecompile._GetFood_xjsp._jspService(_GetFood_xjsp.java:45)
         at com.newatlanta.servletexec.JSP10HttpJspPage.service(JSP10HttpJspPage.java:41)
         at com.newatlanta.servletexec.JSP10Servlet.service(JSP10Servlet.java:779)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.newatlanta.servletexec.ServletExec.CallServletService(ServletExec.java:1679)
         at com.newatlanta.servletexec.ServletExec.processServletRequest(ServletExec.java:1654)
         at com.newatlanta.servletexec.ServletExec.processServletAlias(ServletExec.java:1602)
         at com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1343)
         at com.newatlanta.servletexec.ServletExec.ProcessRequest(ServletExec.java:1113)

    I think perhaps this sentence has problems:
    <% sqlStatement = "SELECT code, description, status FROM products WHERE products.description =" + s_description + " AND products.status =" + s_status + ";" ;%>
    You can
    <% sqlStatement = "SELECT code, description, status FROM products WHERE products.description ='" + s_description + "' AND products.status = '" + s_status + "'" ;%>
    You perhaps ignore the ���� when using String variable s_description and s_status.
    Hope this will help you. Good lucky!

Maybe you are looking for

  • Input and output reading from quanser board

    My department recently gave my senior design group a Quanser board to use for a project. We are having trouble reading data from the motor sensors in Labview. We are using Labview 2010. Can anyone tell me what channels I should be looking at and what

  • Multiclip Chosen in Viewer not Showing in Canvas

    Hello, everyone. Happy new year. 1) I chose four clips in my timeline 2) put them in my Browser 3) selected them all and chose "Make Multiclip" 4) took the resulting multiclip and moved it from the Browser into the Timeline 5) double clicked the mult

  • Flash & IE7 Weird Problem

    Help!!! I'm having a problems getting a site to work in IE7. It works fine in Firefox, but in IE7, not a chance. Here's the Link Once in the site, go to the Gallery. Click on any of the two thumbnails on the left. A window will open with a short blur

  • No images in app store

    All images in the app store are blank except a blue question mark in the middle. Any ideas why i cannot see the images?

  • Why does Firefox disappear from the bottom Taskbar of open programs even though it is open and running?

    This just started happening...I open a regular/consistent number of programs every morning and lately my Firefox browser gets hidden behind the other programs in the bottom taskbar (next to the start button in Windows XP) where open programs reside.