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,
DanielAfter 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. -
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 -
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 doHello,
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 -
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 KBIt looks like your shift regsiter might not be wired correctly.
Attachments:
screenshot1.jpg 303 KB -
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,
MiniI 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.
-
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 -
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.
thanksIf 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 SavinoI 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 KBHi 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.
-
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