LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Databases....ActiveX, Access, SQL, ODBC, DAO what it all means!?

So I know I need a database in the software I'm developing, but it seems like there are so many ways to implement it, that I don't know what to choose, and I'm having a hard time wrapping my mind around the concepts of how each works.  I have been trying to read as much as I can, but I'd like to get a handle on the different ways to implement the databases before I delve in to one particular method.

 

I'm using windows XP for this, so some of what I mention below is only related to windows.

From my understanding now(correct me if I'm wrong)...

 

1. I can use ActiveX to control MS Access Application to create a database, add/delete from the database, generate reports etc..etc...

 

2. I can use a Data Access Object(DAO) to open a reference to a database to create and edit the database using SQL commands, which requires that I use Open Database Connectivity(ODBC) and define a Data Source Name(DSN) with the ODBC Data Source Administrator...

 

3. I can use the Database Connectivity Toolkit, which can use either SQL or ActiveX Data Objects(ADO) or some other connection I don't know about?...

 

So I guess what I'm wondering is if there are advantages/disadvantages to each of these implementations?

For example, will using the first option with ActiveX add overhead vs. the other options since its going out to query MSAccess? By using the ActiveX commands is it always loading the Access Application?

 

Are there any pitfalls with using ODBC Data Source Administrator in windows? If I'm deploying to a number of system, will I need to setup the DSN on every system, or is this something I can do programmatically?

 

How does the Database Connectivity Toolkit compare to using ActiveX directly, or using a DAO and SQL? is the toolkit just a wrapper for these operations?

 

Any help is appreciated!

 

Thanks,

Jonathan 

 

Using LabView 8.5

-----
LV 8.2/8.5/8.6 - WinXP
0 Kudos
Message 1 of 3
(4,177 Views)

Malkier,

 

A lot of questions there...I am no expert on databases, but hopefully I can provide a few snippets of knowledge...

 

LabVIEW Database Connectivy Toolkit uses ADO(Activex Data Objects), which is obviosuly based on ActiveX commands.  I suppose you could almost refer to the toolkit as a wrapper, however the individual activex commands would take a lot of work.  In addition, they do not go through Microsoft Access and are easier to work with SQL, which is free(as opposed to Access).  You still need to set up your DSN in OBDC Data Source Administrator, however.

 

If you use file DSN, you set up one file, then distribute this file to all the computer you want to access. You do not need to 'set it up' for each machine.

 

For speed, NI recommends using the Native OLE DB server rather than a generic ODBC server.

 

For more information, I would recommend these two links:

Difference between ADO vs ODBC vs OLE DB
LabVIEW Database Connectivity Toolkit User Manual

 

Both of these may provide some more insight into what you are looking for.

 

 

Message Edited by Rob_K on 10-22-2008 03:52 PM
Rob K
Measurements Mechanical Engineer (C-Series, USB X-Series)
National Instruments
CompactRIO Developers Guide
CompactRIO Out of the Box Video
Message 2 of 3
(4,145 Views)

Thanks for the reply!

 

I guess my next step would be to figure out what database I want to use, then figure out how I am going to access it.

 

I think I have enough information(for now), so that I can do some more research and figure out what would work best for my application.

 

 

Thanks again! 

-Jonathan 

-----
LV 8.2/8.5/8.6 - WinXP
0 Kudos
Message 3 of 3
(4,133 Views)