LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

database connectivity toolkit error Labview 10 with older access database

Hi,

 

Newbie to the database stuff, so I am just trying to get to the basics of opening, importing and saving info to a database. I have an existing database made in a old version of access, pre 2003. I can open it, pull out data, but am trying to add data to one of the tables and I keep getting the attached error. I believe I have my udl file set up correctly. Any ideas?

 

Also question 2, currently am developing this on XP, but will need this as a distributable application for under Vista and Win7. Am I going to run into issues? This will be replacing software written in visual basic years ago, and I need to be abel to have the customers use thier existing databases.

 

Any help would be great. I though I'd start here before I contact my local NI rep.

 

Thanks,

 

Garrett

Download All
0 Kudos
Message 1 of 8
(2,780 Views)

The error is not mentioning your UDL at all. It refers to the data being inserted. One or more of your datatypes in the cluster does not match the type in the database.

 

Support of Access is best answered by Microsoft. I was lead to believe that it would no longer be supported on 64 bit OS's.

0 Kudos
Message 2 of 8
(2,768 Views)

Hi,

 

Interesting, I've been playing around with this and as far as I can tell, all my data I am inserting should be the type it expects. I even tried pulling a record out of the table I want to insert to, convert it to a cluster and stick it back in as a new entry and it gives the same error. The first field is set as an autoindexing number. Could this cause the error I am seeing, trying to put a normal I32 number into it?

 

You second comment is more concerning to me. I did some reading on this and it does seem the driver used on XP was phased out on Win7 for database access, and it also make a difference if its a 32 or 64 bit Win7. Since I need this software to work on both platforms, perhaps its best I abandon a database all together. I can read it in fine under XP, so I can make a convert utility to open an existing database on an XP machine and read the data. Win7 would always be a new install anyway. Can anyone confrim my thinking here? Thank you!

 

Garrett

0 Kudos
Message 3 of 8
(2,764 Views)

You don't insert to an auto indexing column. You insert to all of the others.

 

Instead of abandoning a database, you might consider upgrading to one that is supported. SQL Server Express is free as is MySQL.

Message 4 of 8
(2,757 Views)

Dennis is right on both counts. If you try to insert data into an auto indexing database column, you will always get errors. Here is a primer on indexing in databases. The index column will be generated by the database server itself. If you are storing a significant amount of data, a database is definitely the way to go. I have to second Dennis' recommendation of MySQL, not only because it is open source, but it is also widely used, and well understood. Plus, it's pretty easy to start using it in LabVIEW.

John B.
Embedded Networks R&D
National Instruments
Certified LabVIEW Developer
0 Kudos
Message 5 of 8
(2,733 Views)

I use Access as a DB backend via the Database Connectivity Toolkit, having been doing so since Windows 98, through XP (32 and 64 bit versions), Vista (32 and 64 bit versions) and now Windows 7 in both 32 and 64 bit versions.  I have no problems with it "out of the box" so to speak.

0 Kudos
Message 6 of 8
(2,696 Views)

Interesting, do you have Access loaded on each computer or just a driver for it? The part I am concerned with is that the finished software will be a complied installation *.exe that the user will load onto any PC to use with a piece of hardware. I really do not want to require them to have to load some other software or drivers that I cannot have the normal NI install setup take care of. Plus it has to be bulletproof. I can't have it work on some and not others. The end user may not be real computer savvy.

 

Right now the DB is more of a convienience to keep all the info in one file. The end user never sees it, there is not lots of info and it really does not matter how I store it or where.

 

Thanks!

 

Garrett

0 Kudos
Message 7 of 8
(2,693 Views)

I dont have the choice of creating UDL or ODBC to Access in my W7 64 either, so i've installed SQL-express. You can use Access as a front-end if you prefer, but from LV's perspective you just have to change the UDL to the SQL DB instead.

 

/Y

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

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 8 of 8
(2,687 Views)