LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Terminating after oracle diconnection

Hello

I've a problem with terminating application after Connection/Disconnection with ORACLE DB.
To simplify my consideration I built very simple code comprise of basic functions:

DBNewConnection

DBSetConnectionAttribute

DBOpenConnection

…BODY

DBCloseConnection

DBDiscardConnection

Everything work fine, I can do whatever I want in DB, but when I want to exit/close my application I can’t do it.

My application hang on, to close it I need to do it by use Terminate Execution from Running Menu. Even Break Execution doesn’t work. It looks like problem with DSN driver compatibility or something.

In debug window after a while I see this message: HEAP: Free Heap block 2b83e68 modified at 2b83f0c after it was freed. When this message appeared then I can close application by use STOP button.

Specification: Windows XP; CVI 8.1.1; SQL Toolkit  2.0.6; Oracle ODBC driver: Oracle in XEClient 10.02.00.01.

I some a few post connected with HEAP problem, but I don’t allocate any memory, so maybe some third party app does it. Do you have any idea what to do ?

I tray to change Oracle driver.
Best Regards
Konrad


0 Kudos
Message 1 of 10
(5,202 Views)
Hello,

I was able to reproduce your problem.  I am looking into the cause and will let you know as soon as I find something.
Kristen
National Instruments
0 Kudos
Message 2 of 10
(5,167 Views)
Hi Ckonio,

This was reported to R&D (# 102106) for further investigation.  I will post back when I have more information or a workaround.

Thanks for the feedback.


Kristen
National Instruments
0 Kudos
Message 3 of 10
(5,138 Views)

Hi Ckonio,

We have only been able to reproduce this issue on one machine and not others which makes the issue difficult to track down.  I tested your scenario with the Oracle Database 10g Express Edition and didn't have any problems connecting and disconnecting. There was no hang at the end. Now, Kristen used this same software and was able to observe the behavior. 

So I am wondering if the issue has something to do with the with the ODBC driver. The ODBC Data Source Administrator settings I used to test your scenario are shown in the attached screenshots.  For the driver, I tested both the Microsoft ODBC for Oracle and Oracle in XE drivers and they both worked fine. Maybe you configured your settings differently. 

Does this issue occur on multiple systems?
Is it possible for you to try another driver?

Best Regards,



Message Edited by Jonathan N on 04-10-2008 10:01 AM
Jonathan N.
National Instruments
Download All
0 Kudos
Message 4 of 10
(5,116 Views)
Hmm...
My configuration looks similar, with one exception, In the field TNS service name I put IP address of my DB server, that is located on other PC.
I made Test connection and get success. Connection OK, I use this connection in my application => ALMOST perfect.
My "perfect" has this defect I mention above.
Did you test this configuration on PC with DB server ?
I do not see XE service on remote PC, where server is installed.
I use Express Edition Oracle Server, not a standard version.
I reinstall Oracle server to Standard Edition and then I check it again.

Konrad


0 Kudos
Message 5 of 10
(5,097 Views)
Hi Konrad,
 
I just used the Oracle 10g Express Edition that you can freely download off their website to test out your problem. Does this problem occur on multiple machines? Can you connect to other databases fine (i.e. Access)?
 
Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 6 of 10
(5,081 Views)
Hi Konrad,

I just wanted to let you know that we did investigate that issue and discovered that the "HEAP: Free Heap block 2b32940 modified at 2b32b14 after it was freed" message was coming from ntdll.dll which is called somewhere deep inside the oraxe.dll.  At this point, our code has already stopped executing and so it appears not to be our issue but rather a bug with the XE driver.  We found that switching the driver from "Oracle XE" to "Microsoft ODBC for Oracle" made the issue go away. We have seen weird issues in the past dealing with the XE driver.

Best Regards,
Jonathan N.
National Instruments
0 Kudos
Message 7 of 10
(4,922 Views)
Thanks for you help...for your work
I'll change to Microsoft driver and I'll see that helps me.

Another idea is to downgrade XE driver version, maybe previous one
works better.
Nowadays, I was force to another task, after finishing I back to my open task with Oracle.

Konrad

0 Kudos
Message 8 of 10
(4,886 Views)

Hi all,


I have the same problem with disconnecting from an Oracle 10 Express
Edition data base. I have changed the driver to the Microsoft ODBC for
Oracle and I get a new crashing error and if I continue I get the follow up. I attach the print screen of the errors.
I'm using LabWindows CVI SQL ToolKit 2.0 and LabWindows/CVI 9.0 on a machine running Windows 2000 SP4.
Please let me know if you have investigate the problem meanwhile and if you have found any solution.

 

Looking forward for your answer

Regards

Roxana Frunza

Download All
0 Kudos
Message 9 of 10
(4,507 Views)

Hi Roxana

Unfortunately, I have't fix it. I have't more time to spend it on it, so I use the simples solution:

just I change Oracle serwer and driver. The problem has gone away.

 

Konrad

0 Kudos
Message 10 of 10
(4,478 Views)