Problem with statement.cancel()

Hi,
I am using Oracle 10g with the 10.2.0.3 jdbc (OCI) drivers. Though my statement.quertTimeout() works fine, the statement.cancel() does not seem to do anything.
Could you please guide me as to the cause of this kind of action, since I have read that internally queryTimeout() depends on cancel() to stop qurery execution.
Thanks in advance

Hi,
I am using Oracle 10g with the 10.2.0.3 jdbc (OCI)
drivers. Though my statement.quertTimeout() works
fine, the statement.cancel() does not seem to do
anything.
Could you please guide me as to the cause of this
kind of action, since I have read that internally
queryTimeout() depends on cancel() to stop qurery
execution.
Thanks in advanceThe code I am using is:
package test;
import java.sql.*;
import oracle.jdbc.pool.OracleDataSource;
import oracle.jdbc.driver.*;
public class OracleQueryTimeout
     public static void main(String[] args)
          long timetaken; // Holds the execution time
          int numFetchedRows = 0;
          // Create a OracleDataSource instance
          OracleDataSource ods;
          try {
               ods = new OracleDataSource();
               //Sets the driver type
               ods.setDriverType("oci");
               // Sets the database server name
               ods.setServerName("<my machine name>");
               // Sets the database name
               ods.setDatabaseName("orcl");
          // Sets the port number
               ods.setPortNumber(1521);
               // Sets the user name
               ods.setUser("<username>");
               // Sets the password
               ods.setPassword("<password>");
               // Create a connection object
               Connection connection;
                    connection = ods.getConnection();
     // Sets the auto-commit property for the connection to be false.
                    connection.setAutoCommit(false);
                    Statement stmt = null;
               String query = "Select * from USER_CATEGORY,MV_SUBSCRIBER_ATTRIBS";
               stmt=connection.createStatement();
               stmt.setQueryTimeout(0);
               // Get time at start of query
               long initialTime = System.currentTimeMillis();
               // Execute the Query in query
               ResultSet rst = stmt.executeQuery(query);
               long finalTime = System.currentTimeMillis();
               timetaken = finalTime - initialTime;
               if(timetaken>0003)
                    stmt.cancel();
                    System.out.println("Statement Cancelled");
               //Populate the ResultSet object
               while ( rst.next() )
                    numFetchedRows++;
                    rst.getObject(1);
               System.out.println("Time taken for query: " + timetaken);
               System.out.println("Number of rows fetched: " + numFetchedRows);
               System.out.println(rst);
          } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
The program hangs when it comes to retrieving the >resultset
The program gives the following output If I do not go through the resultset:
Statement Cancelled
Time taken for query: 50782
Number of rows fetched: 0
oracle.jdbc.driver.OracleResultSetImpl@1a85d38Here the cancel method was invoked but to no visible action.

Similar Messages

  • Help needed with HTC One regarding mic problem with noise cancellation

    I picked up an HTC One last week, and so far I am loving the phone.  Great build quality, screen, sound - all as advertised.
    However, there is one very annoying problem I am having.  When I am talking to someone, I can gear them great, but they keep telling me I sound muffled or robotic.  I performed some tests, and the problem appears to be something with the dual microphones and the HTC One's noise cancellation features.
    Here are the tests I ran:
    Typical phone call, with holding the phone as I normally do on the sides and to my ear.  Call result, pretty muffled voice.  I'd give the call quality a 5/10.
    Help the phone as I typically do, but covered the mic hole on the back of the phone.  This definatelyimproved call quality.  Was louder and clearer, but not perfect.  I'd rate it at 8/10.
    Help the phone towards the bottom, using my hand to kind of cup the bottom directing the sound to the bottom mic.  This was a further improvement in sound quality.  Rating would be 9/10.
    Help phone as normal, but covered the bottom mic hole.  Very low volume and muffled sound.  Rating a 4/10.
    Talked directly into the bottom of the phone into the bottom mic.  This gave perfect call quality and volume.  Rating a 10/10!
    Talked directly into the mic on the back of the phone. Horrible quality, couldn't hear hardly anything. Rating 0/10.
    Speaker phone on, held the phone up and moved it around as I would normally use a speaker phone.  Call quality was really nice.  Id give it 9/10.
    Speaker phone on, covered back mic hole and used speaker phone as in #7.  Very bad quality, rating 1/10 for call quality.
    Speaker phone on, covered bottom mic and help speaker phone in hand.  Really good quality, even an improvement over test #7.  Would give the call quality a 9.5/10.
    Speaker phone on, placed face down on table.  Volume a bit low, a little muffled.  Call quality 6/10.
    Speaker phone on, place face up on table.  A bit worse than test #10, low volume and a bit muffled.  Call quality is 5/10.
    Based on these tests, I know this problem has nothing to do with the network CDMA connection.  It is obvious that the noise cancellation features are a bit too aggressive, or I have some hardware problem with one or both mics.
    I question wether its really a hardware mic problem, because on non-speaker phone calls, talking directly into the bottom mic gives great quality.  And on Speaker phone, covering the bottom mic makes the speaker phone sound really good.  That's why I think there's something going on with the "Sense Sound" noise cancellation.
    Is anyone else seeing the same issues?  I want to be able to hold the phone normal on a non speaker phone call and get good quality.
    Looking for any tips and advice anyone can give.  Is it worth exchanging for a new one, as I am still in my 14 day window.
    Thanks in advance for the help!

    Here are some other threads that seem to be having similar issues:
    http://forum.xda-developers.com/showthread.php?t=2262648
    http://forum.xda-developers.com/showthread.php?t=2294532

  • SCOM 2012 R2 Continued Problems with State Widget

    Hi All,
    Just want to see if anyone is seeing problems with the state widget in R2. Confirmed that if the criteria selection page is left blank, that the widget will render, if anything is selected it just loads and loads and loads finally with an error (follows,
    first). Corresponding error in event log (follows, second). I thought this was resolved with UR4?
    Error in console===============
    Microsoft.EnterpriseManagement.Common.UnknownDatabaseException:
    The query processor ran out of internal resources and could not produce a query
    plan. This is a rare event and only expected for extremely complex queries or
    queries that reference a very large number of tables or partitions. Please
    simplify the query. If you believe you have received this message in error,
    contact Customer Support Services for more information.
       at
    Microsoft.EnterpriseManagement.Common.Internal.ServiceProxy.HandleFault(String
    methodName, Message message)
       at
    Microsoft.EnterpriseManagement.Common.Internal.EntityObjectsServiceProxy.GetRelatedManagedEntitiesByManagedEntityTypesAndCriteriaWithInstanceQueryOptions(IList`1
    parentManagedEntityIds, Boolean recurse, IList`1 managedEntityTypeIds, IList`1
    managedEntityBaseTypeIds, IList`1 criterias, String languageCode,
    InstanceQueryOptions instanceQueryOptions)
       at
    Microsoft.EnterpriseManagement.InstancesManagement.GetRelatedObjectsInternal[T](ICollection`1
    instanceIds, ICollection`1 criteriaCollection, TraversalDepth traversalDepth,
    ObjectQueryOptions queryOptions)
       at
    Microsoft.EnterpriseManagement.Management.DataProviders.ManagedEntityProvider.GetContainedManagedEntities(IDataObjectCollection
    targetEntities, ICollection`1 recursionTypeNames, ICollection`1 baseTypeNames,
    String criteriaString, List`1 valueDefinitions, List`1 sortValueDefinitions,
    String typePropertyName, String typeWithIconPropertyName, Boolean
    propertyCollectionRequested)
       --- End of inner exception stack trace ---
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderCommandMethodInvoker.Invoke()
       at
    Microsoft.EnterpriseManagement.Monitoring.DataProviders.RetryCommandExecutionStrategy.Invoke(IDataProviderCommandMethodInvoker
    invoker)
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderCommandMethod.Invoke(CoreDataGateway
    gateWay, DataCommand command)
       at
    Microsoft.EnterpriseManagement.Presentation.DataAccess.CoreDataGateway.ExecuteInternal[TResult](DataCommand
    command)
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.CoreDataGateway.<ExecuteAsync>b__0[TResult](<>f__AnonymousType0`1
    data)
    Error in Event Log==============
    GetRelatedManagedEntitiesByManagedEntityTypesAndCriteriaWithInstanceQueryOptions
    for session ID uuid:9078152d-9ff1-4c68-a997-c8088a16a34c;id=5.<o:p></o:p>
    Exception
    message: The creator of this fault did not specify a Reason.<o:p></o:p>
    Full
    Exception:
    System.ServiceModel.FaultException`1[Microsoft.EnterpriseManagement.Common.UnknownDatabaseException]:
    The creator of this fault did not specify a Reason. (Fault Detail is equal to
    The query processor ran out of internal resources and could not produce a query
    plan. This is a rare event and only expected for extremely complex queries or
    queries that reference a very large number of tables or partitions. Please
    simplify the query. If you believe you have received this message in error,
    contact Customer Support Services for more information.).<o:p></o:p>
     <o:p></o:p>

    I am so sorry for my mistake. Below is the url.
    http://blogs.technet.com/b/scom_atlas/archive/2013/10/22/scom-2012-sp1-ur4-is-out.aspx
    Juke Chou
    TechNet Community Support

  • Problems with statement cache using OCI

    Hello!
    We recently changed our program to use statement cache, but we found a problem and not yet a solution.
    We have problems in this situation:
    OCIEnvCreate();
    OCIHandleAlloc();
    OCILogon2(..... OCI_LOGON2_STMTCACHE);
    OCIStmtPrepare2("CREATE TABLE db_testeSP (cod_usuario INTEGER, usuario CHAR(20), dat_inclusao DATE)")
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    OCIStmtPrepare2("INSERT INTO db_testeSP (1,\'user\',CURRENT_DATE");
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    OCIStmtPrepare2("SELECT * FROM db_testeSP");
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    OCIStmtPrepare2("DROP TABLE db_testeSP");
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    OCIStmtPrepare2("CREATE TABLE db_testeSP (cod_usuario INTEGER, usuario CHAR(20), idade INTEGER, dat_inclusao DATE)");
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    OCIStmtPrepare2("INSERT INTO db_testeSP (1,\'user\',20,CURRENT_DATE");
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    OCIStmtPrepare2("SELECT * FROM db_testeSP");
    OCIStmtExecute();
    OCIStmtRelease(... OCI_DEFAULT);
    On the second Select (wich is in bold), returns -1 from Execute, and if I get the error with OCIErrorGet I have: ORA-00932 - inconsistent datatypes
    Researching I discovered that this is statement cache problem, is there a way to clear the cache of one table ? I'm asking this because I could clear whenever there is a DROP TABLE or ALTER TABLE instruction (but I don't know what statements will need to be cleared from the cache). I can't clear all the cache because I may have other statements from other tables on the cache.
    This situation above is just an example, but I think that this will cause other problems too.
    Our program is a gateway from the main program and database, so I don't know the SQL instructions before executing. How can we resolve this problem?
    I have tested this issue with Oracle 10g (10.2.0.4.0) and 11g (11.2.0.1.0) both 64 bits and the result is the same (the OCI is version 11.2.0).
    We appreciate any help.
    Thanks in advance,
    Daniel

    After long time searching for answers, apparently this is expected to happen and the program should not use Statement caching in this situation.
    I found this on an Oracle document (Tuning Data Source Connection Pools - 11g Release 1 (10.3.6)) and we will need to review the use of statement caching.
    Stay as a tip for others who might be in the same situation.

  • Problem with purchase cancellation with lenovo/digitalriver

    Hi,
    So I am from the UK. I ordered an x1 carbon on 18th September, then cancelled the purchase 1 day later on the 19th. I received the following email from the lenovo uk supplier digital river.
    Dear ...., 
    Thank you for contacting the Lenovo Online Store.
    Per your request, we have cancelled order 18746145224 and your credit
    card will not be charged. You may still receive an order confirmation
    email since this is generated as soon as the order is completed.
    Sincerely,
    Pearl McDonagh
    Lenovo Online Store
    Customer Service
    [email protected]
    Email ID: 23823692
    This email has been sent by Digital River, International SARL, the
    authorised reseller and merchant for the products and services you
    purchased.
    So that seems very straightforward. I am not going to be charged. I also called them and talked with a customer services rep, and I was also guaranteed not to be charged.
    But apparently they changed their minds - three days ago I received a tracking number, and today they have charged my account, overdrawing me into the bargain. They can apparently do this because the original purchase on 18th sept is guaranteed by visa.
    So, I guess my question is, do you think they should refund me right now, as I was guaranteed that my card wouldn't be charged? Should I refuse the delivery? Open a payment dispute with my bank?
    or do i just have to wait however long it takes to return the item to them? That option pretty much sucks for me right now as I haven't got the money, so I am definitely gonna eat some overdraft fees. If i had the money it obviously wouldn't be a massive issue.
    I'd appreciate any opinions, thanks!

    I also suffered the same problem, digitalrever promised me to return the product but still have not received email response from them. I don't understand why lenovo making such bad image from such small companies
    Hello,
    With reference to previous email conversations for return of product, I would like to let you know that I have not received any email feedback on my emails after 30th of May, whereas it is your responsibility to response to customer within 36 hours. As per e-commerce European act, I do believe that Lenovo company understand the terms and conditions of return policy within 15 days.
    I am enclosing receipt with product details where you can find the serial number and Address as below.
    Stockholm, Sweden.
    Hoping to hear from you soon.
    Best Regards,
    Arunendra
    -----Original Message-----
    From: Arunendra 
    Sent: 30 May 2014 07:00
    To: 'Lenovo EN CS'
    Subject: RE: Lenovo Online Store - 1858xxxxxxx - (KMM54555234xxxxxxxxxx)
    Dear JP,
    Thank you for your kind information.
    About the product details, kindly find the attached pictures.
    My address:
    Stockholm, Sweden.
    Thanks and Regards,
    Arunendra
    -----Original Message-----
    From: Lenovo EN CS [mailto:[email protected]]
    Sent: 29 May 2014 08:36
    To: Arunendra
    Subject: Lenovo Online Store - 1858xxxxxx - (KMM54555234xxxxxxxxxx)
    Dear Arunendra Pandey,
    Tack för att du kontaktar Lenovo Online Store.
    We can arrange to have the battery collected from you free of charge .
    You will be issued a full refund once the item reaches our warehouse. To process the return we need you to supply us with the serial number of your product, which can usually be found on a sticker on the side of the product or on the packaging. We would also require an address where we can collect the item from. Once you have sent us these details we will pass them straight on to our returns department.
    Sincerely,
    JP
    Lenovo Online Store
    Customer Service
    [email protected]
    Email ID: xxxxxxxx
    Moderator Note; private information edited to avoid possible abuse. Full name and ID of Lenovo employee / associate edited   Forum Rules

  • Problem with statement after upgrading to 11g

    Hello,
    We recently upgraded to 11g from 9i and one of our statements we routinely use no longer works. The statement is:
    delete from ALLEMPLOYEES x where exists( (select * from ALLEMPLOYEES where email_id=x.email_id) minus (select * from X_ALLEMPLOYEES where email_id=x.email_id));
    This statement deletes no rows from the ALLEMPLOYEES table. When we run this statement as a check:
    (select * from ALLEMPLOYEES) MINUS (select * from X_ALLEMPLOYEES);
    We find many rows produced. Why would the delete fail now? We have colleagues still using 9i and use this same delete statement and it works for them with no trouble.

    Do you have proper indexes?
    SQL> select  *
      2    from  v$version
      3  /
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> create table emp1 as select * from emp where deptno != 30
      2  /
    Table created.
    SQL> create index emp1_idx_comm on emp1(comm)
      2  /
    Index created.
    SQL> create index emp_idx_comm on emp(comm)
      2  /
    Index created.
    SQL> explain plan for
      2  delete emp e
      3    where exists(
      4                  select  *
      5                    from  emp
      6                    where comm = e.comm
      7                 minus
      8                  select  *
      9                    from  emp1
    10                    where comm = e.comm
    11                )
    12  /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 1994471334
    | Id  | Operation              | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | DELETE STATEMENT       |              |     1 |    28 |     9  (34)| 00:00:01 |
    |   1 |  DELETE                | EMP          |       |       |            |          |
    |   2 |   NESTED LOOPS         |              |     1 |    28 |     9  (34)| 00:00:01 |
    |   3 |    VIEW                | VW_SQ_1      |    14 |   182 |     8  (25)| 00:00:01 |
    |   4 |     MINUS              |              |       |       |            |          |
    |   5 |      SORT UNIQUE       |              |    14 |   532 |            |          |
    PLAN_TABLE_OUTPUT
    |   6 |       TABLE ACCESS FULL| EMP          |    14 |   532 |     3   (0)| 00:00:01 |
    |   7 |      SORT UNIQUE       |              |     8 |   696 |            |          |
    |   8 |       TABLE ACCESS FULL| EMP1         |     8 |   696 |     3   (0)| 00:00:01 |
    |*  9 |    INDEX RANGE SCAN    | EMP_IDX_COMM |     1 |    15 |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       9 - access("VW_COL_1"="E"."COMM")
           filter("E"."COMM" IS NOT NULL)
    PLAN_TABLE_OUTPUT
    Note
       - dynamic sampling used for this statement (level=2)
    26 rows selected.
    SQL> explain plan for
      2  delete emp
      3    where comm is not null
      4     and comm not in (
      5                      select  comm
      6                        from  emp1
      7                        where comm is not null
      8                     )
      9  /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 123997034
    | Id  | Operation          | Name          | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | DELETE STATEMENT   |               |     3 |    84 |     1   (0)| 00:00:01 |
    |   1 |  DELETE            | EMP           |       |       |            |          |
    |   2 |   NESTED LOOPS ANTI|               |     3 |    84 |     1   (0)| 00:00:01 |
    |*  3 |    INDEX FULL SCAN | EMP_IDX_COMM  |     4 |    60 |     1   (0)| 00:00:01 |
    |*  4 |    INDEX RANGE SCAN| EMP1_IDX_COMM |     1 |    13 |     0   (0)| 00:00:01 |
    PLAN_TABLE_OUTPUT
    Predicate Information (identified by operation id):
       3 - filter("COMM" IS NOT NULL)
       4 - access("COMM"="COMM")
           filter("COMM" IS NOT NULL)
    Note
       - dynamic sampling used for this statement (level=2)
    22 rows selected.
    SQL> SY.

  • Problem with State sleep

    hi, when my macbook air  Going to sleep the device still working and not really in a state of sleep so happens that the battery is over me at night and left with a few percent in the morning

    The following command (in terminal) will show you why your computer is not going to sleep:
    pmset -g assertions

  • Problem with statement like

    Dear all
    when I do a select I can work with the statement like
    CONCATENATE WA_DEL-FIELD '%' INTO I_FIELD.
          SELECT * FROM ZTABLE INTO TABLE IT_ITAB
            WHERE FIELD LIKE I_FIELD.
    how do I can do the same question for a if command for a field ?
    I was thinking with the statement (FIELD = ABCDEFG) (I_FIELD-SIGN = I / I_FIELD-OPTION = 'EQ'  / I_FIELD-LOW = 'ABC*'
    IF FIELD IN I_FIELD
    should work, but it was not working.....  what do I need to do

    Hello,
    Silly mistake ... You have to use the OPTION as CP ( C ontains P attern ) instead of EQ
    (I_FIELD-SIGN = I / I_FIELD-OPTION = 'CP' / I_FIELD-LOW = 'ABC*'
    BR,
    Suhas

  • Problem with state machine

    Hi! I've got a VI intended to control a storage tank. I've tried to do that by creating a simple state machine that changes the value(on/off) of some valves basing on 2 conditions:
    -when a certain temperature reaches a pre-set value AND its derivative is <0, the state must change from on to off,
    -when some time passes the state must change from off to on.
    Unfortunately I can't get this work as it never changes state (e.g if I start with on always remain on "on" and viceversa).
    Could you please tell me what I'm doing wrong? I'm attaching the screenshots of the 2 states.
    Thanks!
    Solved!
    Go to Solution.
    Attachments:
    screenshot1.jpg ‏302 KB
    screenshot2.jpg ‏300 KB

    It looks like your shift regsiter might not be wired correctly.
    Attachments:
    screenshot1.jpg ‏303 KB

  • Problem with States

    hi,
    in my app i would like to code something what you see in the
    code.
    but this is not possible, because now i have two buttons with
    the id 1.
    what is the best way to solve this? especially when you have
    lots of buttons? i mean, i need the id when i want to remove the
    child...
    thanks!

    my example is quite abstract. so the code is not working, of
    course...
    but yes, i try to add the same btn in more then on state. -
    so this is not possibel?
    when i can't add the same btn twice, i have to use one button
    in two states, and change its properties and styles...
    but how do i change the eventhandler?
    thanks

  • CATS report  RCATSP01:  Problem with statement IMPORT FROM MEMORY ID.

    Hi Guys,
    I am trying to create a Z custom report using SAP template RCATSP01. In template report there is an IMPORT statement as below.
    IMPORT icatsd
           catsfields
           fieldtab
    FROM MEMORY ID 'LR2'.
    When I run the report in debug mode, I found there is no data in ICATSD, CATSFIELDS & FIELDSTAB.
    What should I do to get the data in these internal tables.
    Thanks,
    Mini

    I don't think this report is meant to be used as a stand-alone report; it's called within CATS time entry (e.g. CAT2 when user select print time sheet) which would export the info to 'LR2' memory prior to calling this report.

  • Serious problems with the canceling for my plan, it´s just frustrating =(

    In the Cancel Plan confirmation pop-up, for me and probably others, it dosen´t appears the option of "cancel plan" in the bottom, so that´s either a dum issue from the system or Adobe just dosen´t wants us to cancel our plan. PLEASE IF ANYONE COULD JUST TELL ME WHY ITS THIS HAPPENING!? ill be thankful c:

    Cancel http://helpx.adobe.com/x-productkb/policy-pricing/return-cancel-or-change-order.html
    -or by telephone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html

  • Problem with statements

    I am doing multiple comparisons, but for some reason it is
    complaining about my usage of the word and. This is my script
    on exitFrame
    if sprite(12).loc = point(450, 388) and
    sprite(13).loc = point(408, 390) and
    sprite(14).loc = point(320, 389) and
    sprite(15).loc = point(358, 389) and
    sprite(16).loc = point(285, 389) then
    go to frame 26
    else
    go to the frame
    end if
    end
    Any help in letting me know whats wrong would be a great
    help.
    thanks

    If you are really putting each condition on a single line
    then you need
    to add the continuation character to the end. Otherwise put
    it all on
    one line.
    nick2price wrote:
    > I am doing multiple comparisons, but for some reason it
    is complaining about my
    > usage of the word and. This is my script
    > on exitFrame
    > if sprite(12).loc = point(450, 388) and
    > sprite(13).loc = point(408, 390) and
    > sprite(14).loc = point(320, 389) and
    > sprite(15).loc = point(358, 389) and
    > sprite(16).loc = point(285, 389) then
    > go to frame 26
    > else
    >
    > go to the frame
    >
    > end if
    > end
    >
    > Any help in letting me know whats wrong would be a great
    help.
    > thanks
    >

  • Statement.cancel() no longer works with WLS 8.1?

    Has anyone else had a problem with the cancel() method in oracle.jdbc.OracleCallableStatement
    on WLS 8.1 not doing a very good job of killing the thread in Oracle? We were
    using cancel() with weblogic.jdbc.pool.CallableStatement on WLS 6.1 and it does
    a very good job of killing the query on the Oracle side. But almost all of this
    package has been removed and we've been told we need to use the Oracle vendor
    package to get our stuff to work on 8.1. I decompiled both classes and they each
    have very different implementations of the cancel() method.
    I think I've managed to convert all of our DB access classes to the Oracle vendor
    package successfully, with the exception of this issue. We use cancel() let users
    cancel large queries and to cancel an existing query if a user tries to run a
    new one. Since we implemented it we've had a huge performance boost from the lack
    of runaway queries in the DB. It would be a real pain if we can't find a way to
    get the Oracle version to work. Any help or tales of similar experiences would
    be greatly appreciated.
    thx a lot,
    Matt Savino

    I did a search on Oracle MetaLink. I didn't see any Oracle-confirmed
    bugs related to cancel. I did see one user in the JDBC forum that
    was having a problem with a remote (not on the local machine)
    cancel. At this point, this case will need to be worked through
    support - they will need to generate a reproducer and assuming they
    do, file a tar with Oracle.
    "Stephen Felts" <[email protected]> wrote in message
    news:[email protected]...
    Regarding the wrappers - now I remember discussing this with you in thebeta newsgroup about a month ago.
    The goal was to make it transparent that everything was changed to bepassthrough in 8.1.
    The good news is that you can now use the vendor interface directly andget their extensions
    directly. That means that the wrapper for Oracle will be different fromthe wrapper for DB2.
    Further, any new excentions in the interface will become visible to theapplication.
    >
    The bad news is that this only works when the vendor has a definedinterface; it doesn't work
    if only a class is defined.
    This is a problem for some of the Oracle data type classes that don't havedefined interfaces
    and the reason why weblogic.vendor.oracle interfaces still need to be usedfor these classes.
    That also applies to BEA classes and weblogic.jdbc.pool only had classesdefined, not interfaces.
    >
    We should have documented change.
    Regarding the real problem of cancel(), the WLS JDBC code is not doinganything here
    except passing the cancel call through to the thin driver. My guess isthat this is
    a problem in the thin driver. I haven't had a chance to research this onthe Oracle site yet.
    >
    >
    "Matt Savino" <[email protected]> wrote in message
    news:[email protected]...
    >>
    Thanks a ton for your quick reply on this. On recommendation from yoursupport
    team (case 426562) here is the primary line that we had to change:
    [old] weblogic.jdbc.pool.CallableStatement cStat
    =(weblogic.jdbc.pool.CallableStatement)connection.prepareCall(call);
    >>
    [new] - oracle.jdbc.OracleCallableStatement cStat
    =(oracle.jdbc.OracleCallableStatement)connection.prepareCall(call);
    >>
    (FYI - We need this to take adavantage of some of the advanced Oraclefeatures
    like returning multiple ResultSets. We'd like to avoid using the OCIclient if
    possible, assuming that would even solve this.)
    Further down in the code, here is the cancel() method:
    public void cancelCall() {
    try {
    if (cStat != null) cStat.cancel();
    releaseConnection();
    catch (Exception e){ e.printStackTrace(); }
    In both cases the cancel() call throws no error, but only on the oldversion do
    we actually see the thread die promptly in Oracle.
    Thanks again for your help on this,
    Matt
    "Stephen Felts" <[email protected]> wrote:
    In versions prior to WLS 8.1, each Oracle extension had to be
    individually,
    explicitly wrapped
    (and not all extensions were supported).
    In WLS 8.1, it is a clean passthrough directly of all Oracle interfaces
    using a dynamic proxy so that
    all Oracle extensions show through. The only additional work that WLS
    is doing to to
    ensure that transactions are managed correctly (which shouldn't have
    an impact here).
    Note that in versions prior to WLS 8.1, you were using classes12.zip
    for the client and now you are using ojdbc14.jar. There are
    some big differences in this client implementation.
    Maybe you should try testing this standalone without WLS in the picture
    to see
    if this is a driver problem. WLS doesn't have the code that isresponsible
    for killing the thread in Oracle.
    I'm not sure I understand what code you are changing. The goal was to
    preseve the interfaces
    provided in releases prior to 8.1. Code you show me an old code line
    and what you are
    changing it to? Thanks.
    "Matt Savino" <[email protected]> wrote in message
    news:[email protected]...
    >>>>
    Has anyone else had a problem with the cancel() method inoracle.jdbc.OracleCallableStatement
    on WLS 8.1 not doing a very good job of killing the thread in Oracle?We were
    using cancel() with weblogic.jdbc.pool.CallableStatement on WLS 6.1and it does
    a very good job of killing the query on the Oracle side. But almostall of this
    package has been removed and we've been told we need to use the
    Oracle
    vendor
    package to get our stuff to work on 8.1. I decompiled both classesand they each
    have very different implementations of the cancel() method.
    I think I've managed to convert all of our DB access classes to theOracle vendor
    package successfully, with the exception of this issue. We use
    cancel()
    let users
    cancel large queries and to cancel an existing query if a user triesto run a
    new one. Since we implemented it we've had a huge performance boostfrom the lack
    of runaway queries in the DB. It would be a real pain if we can't
    find
    a way to
    get the Oracle version to work. Any help or tales of similar
    experiences
    would
    be greatly appreciated.
    thx a lot,
    Matt Savino

  • I have problem with concept in labview

    i have project active noise control using loudspeaker to cancel the noise i have problem with the cancellation any suggestion i will apperciate that . the code attatched if u could see and tell me what is the wrong thanks in advance
    Solved!
    Go to Solution.
    Attachments:
    ali clustring 2011 labview.vi ‏192 KB

    Hi Ali,
    i have problem with the cancellation
    What kind of problem(s)? Could you describe them a little bit more detailed?
    what is the wrong
    Definitely "wrong" is that part of your code:
    Why dou you need 4 functions where a simple IndexArray will do the very same job? (That programming style is called Rube-Goldberg...)
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

Maybe you are looking for

  • How do I drag and drop text in Trail Mix? It doesn't work.

    When I highlight the text snippet I want if I left click or right click and hold control it just disappears. Are there any tutorials for Trail Mix? I can't find any help files.

  • USB to Firewire Adapter

    I'm considering a MacBook Air. I have two Firewire backup hard drives and a original iPod that also uses Firewire. Is there a simple USB to Firewire adapter to enable use of these items from a MBA?

  • PXI-7831R analog input max sampling rate?

    I'm using 5 of the analog inputs on the 7831R and seem to only be able to get a max sampling rate of 10K per channel. Looking at the specs it should do at least 10 times this per channel, also the time for the A/D loop is 228 ticks of the 40MHz clock

  • Support for "Interface Based Design"

    I would like two PC classes that implement a common interface, but the two PC classes are not related by inheritance, and would not be stored in the same table. For example, public interface VersionNumber { int getNumber(); boolean isComparableTo( Ve

  • Ice import fails with no error

    Hello, I am trying to import files into a NW04 system using the content exchange import feature. I choose the correct package and press Upload. After some time (depending on the size of the package), the upload window is displayed again (with no mess