LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

MS ACCESS OK -- SAME VI NO WORK FOR ORACLE?? USING LV8.6 AND DB TOOLKIT

From the DB Tools, DB Tools Insert Data.vi gives ERROR == Error -2147217887 occurred at NI_Database_API.lvlib:Conn Get Properties.vi->NI_Database_API.lvlib:DB Tools Create Parameterized Query.vi->NI_Database_API.lvlib:DB Tools Insert Data.vi->A123SYSTEMS DATA 6STRING-ORACLE.vi

Possible reason(s):
Exception occured in ADODB.Connection: Provider does not support the property. in NI_Database_API.lvlib:Conn Get Properties.vi->NI_Database_API.lvlib:DB Tools Create Parameterized Query.vi->NI_Database_API.lvlib:DB Tools Insert Data.vi->A123SYSTEMS DATA 6STRING-ORACLE.vi

 

THE AUTOMATION OPEN.VI using the ADODB._Command Reference seems to cause the ERROR?????

 

DB Tools Open Connection VI works fine in that I connect to the Oracle DB?   This EXACT vi works fine in an EXACT Same ACCESS DB with same Table and field structure?? 

I read to use the Oracle in XE Client Ver 10.02.00.03 Driver from Oracle in the ODBC, which I am.

 

I attached both ACCESS and Oracle versions of my code.

 

Please Help

Thank you

Brian

 

0 Kudos
Message 1 of 13
(3,949 Views)

In some versions of Oracle, or with certain ODBC providers, the Microsoft ADO client cannot retrieve the properties requested by the Connection Get Properties VI. Fortunately, most other commands and requests will execute without problem, and the only property that DB Tools Create Parameterized Query uses is the command timeout limit (as is explained in the block diagram). You can very easily modify the block diagram to specify its own timeout that is appropriate for your application. Save the VI with a new name and you will be able to use it in place of the original VI.

  Note: You may need to remove the command timeout property from the Create Parameterized Query.vi, and then modify the Conn Get Properties.vi (also named 'DB Tools Get Properties.vi') by removing the entire connection properties bundle.


Another option is to ensure that you are using the latest version of ADO, and Oracle's ODBC provider, not Microsoft's ODBC provider for Oracle, but this can be difficult. Encourage the customer to modify the VI.

 

Warning! when you upgrade LabVIEW, your changes will be overwritten.

 

Let me know if you have other questions.

Message 2 of 13
(3,925 Views)

Hunter,

 

These are the actual DB Tools  -- I had to rename -- make the changes save and rename to orignal name and put back in library.   All this did NOT remove the ERROR,

 

I also called support #1444387

 

Dear Hueter (Veteran), This did not seem to work?  I renamed the vi’s (Note: You may need to remove the command timeout property from the Create Parameterized Query.vi, and then modify the Conn Get Properties.vi (also named 'DB Tools Get Properties.vi') by removing the entire connection properties bundle.) To remove the entire connection properties bundle.  But still have the error I will try some SQL CMDs Tomorrow

 

0 Kudos
Message 3 of 13
(3,918 Views)

Hunter,

 

I did exactly what you suggested and it saved the day. I am at work on Sunday trying to fix an issue and your solution was very helpful.

 

Thank you very much

Message 4 of 13
(3,812 Views)
I am facing the same problem, but I am on the evaluation license, which I can not modify the VIs. where I can get the modifed database library?
0 Kudos
Message 5 of 13
(3,759 Views)
You should have all of the same read/write access with a trial version as you do with a licensed copy. The fix should be the same. Are you running into any access problems?
0 Kudos
Message 6 of 13
(3,708 Views)

Yes, I got unable to display the block diagram, and ask me to activite the toolkit. I have a licenced labview, and evaluation of Database toolkit.

 

the error is attached.

 

error.JPG

0 Kudos
Message 7 of 13
(3,702 Views)
In this case it looks like this VI has been locked for the evaluation version, looks like you will need to upgrade to the licensed version to implement this fix.
0 Kudos
Message 8 of 13
(3,659 Views)

A workaround would ofc be to build the query yourself and just use Execute Query, that's how i solved some similar problems. 🙂

 

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 9 of 13
(3,622 Views)

Thanks for the suggestion, but even without using parameterized query and build the query myself, the executre query gave me another error:

 

NI_Database_API.lvlib:Cmd Execute.vi->Get Task Information.vi<ERR>ADO Error: 0x80040E21
Exception occured in Microsoft OLE DB Provider for ODBC Drivers: ODBC driver does not support the requested properties. in NI_Database_API.lvlib:Rec Create - Command.vi->NI_Database_API.lvlib:Cmd Execute.vi->Get Task Information.vi

 

I am using Oracle client 10g.

0 Kudos
Message 10 of 13
(3,616 Views)