let me present our new ANV Database Toolkit, which has been recently released at vipm.io.
Short introduction to the toolkit is posted by this link, and it also describes steps which should be done in order to use this toolkit.
ANV Database Toolkit helps developers design LabVIEW API for querying various databases (MS SQL, MySQL, SQLite, Access). It allows to create VIs which can be used as API with the help of graphical user interface. When using these VIs, toolkit handles connection with the database, thus relieving developers of this burden in their applications.
It has the following features:
Simplifies handling of databases in LabVIEW projects Allows to graphically create API VIs for Databases Supports Read, Write, Update and Delete queries Supports various database types (MS SQL, MySQL, SQLite, Access) Overall idea is that developer could create set of high-level API VIs for queries using graphical user interface, without actual writing of SQL queries. Those API VIs are used in the application, and handle database communication in the background. Moreover, SQL query could be applied to any of the supported database types, it is a matter of database type selection. Change of target database does not require changes in API VI which executes the query.
After installation of the toolkit, sample project is available, which shows possibilities of the toolkit in terms of execution different types of queries.
Note, that in order to install the toolkit, VI Package Manager must be launched with Administrator privileges.
This toolkit is paid, and price is disclosed based on price quotation. But anyway, there are 30 days of trial period during which you could tryout the toolkit, and decide whether it is helpful (and hope that it will be) for your needs.
In case of any feedback, ideas or issues please do not hesitate to contact me directly here, or at vipm.io, or at e-mail email@example.com.
I've been using LabVIEW for a few years for automation testing tasks and until recently have been saving my data to "[DescriptorA]\[DescriptorB]\[test_info].csv" files. A few months ago, a friend turned me on to the concept of relational databases, I've been really impressed by their response times and am reworking my code and following the examples with the Database Connectivity Toolkit (DCT) to use "[test_info].mdb" with my provider being a Microsoft jet oldb database.
However, I'm beginning to see the limitations of the DCT namely:
No support for auto-incrementing primary keys No support for foreign keys Difficult to program stored procedures and I'm sure a few more that I don't know yet.
Now I've switched over to architecting my database in MySQL Workbench. Suffice to say I'm a bit out of my depth and have a few questions that I haven't seen covered in tutorials
Using Microsoft jet oldb I made a connection string "Data Source= C:\[Database]\[databasename.mdb]" in a .UDL file. However, the examples I've seen for connecting to MySQL databases use IP addresses and ports.
Is a MySQL database still a file? If not, how do I put it on my networked server \\[servername\Database\[file]? If so, what file extensions exist for databases and what is the implication of each extension? I know of .mdb, but are there others I could/should be using (such as .csv's vs .txt's) My peers, who have more work experience than me but no experience with databases, espouse a 2GB limit on all files (I believe from the era of FAT16 disks). My current oldb database is about 200mB in size so 2GB will likely never happen, but I'm curious:
Do file size limits still apply to database files? If so, how does one have the giant databases that support major websites? Questions (LabVIEW Specific):
I can install my [MainTestingVi.exe], which accesses the jet oldb database, on a Windows 10 computer that is fresh out of the box. When I switch over to having a MySQL database, are there any additional tools that I'll need to install as well?
For anyone else who may run across this...
The PC is Win7 64-bit. We're using LabVIEW 2012 SP1 32-bit. I was creating a configuration screen including entering an ODBC database name and login information, selecting a table, and selecting columns in the table. There are VIs with LabVIEW to get a list of tables and a list of columns. The challenge was getting a list of ODBC databases. Google brought up a registry entry containing values of the ODBC connection.
This does not pull up the information in the registry entry referenced. The reason for this is here and here. Windows redirects the 32-bit application to a different registry key. The second link includes how to bypass the registry redirection and further link in which registry entries are redirected.
The other bit that was biting me was setting up the ODBC connection. We were going to Control Panel->Administrative Tools->Data Sources (ODBC) to configure a SQL Server database. This is where I went to on my development machine to setup a MySQL database and did not have any issues. The SQL Server setup tested OK in the ODBC setup, but was producing the message, "The specified DSN contains an architecture mismatch between the Driver and Application" when tried to connect to the database in LabVIEW. The message was tracked to this article, which indicated we needed to run "c:\windows\system32\odbcad32.exe" instead of the ODBC configuration in the control panel.
Note that I only had to run the odbcad32.exe for SQL Server and not MySQL.
I've developed program that calls subvi that queries data from MySQL data base. It works fine till I publish it as a web service. While running program, I receive errorCode and errorDesc from subvi as follows:
errorDesc=NI_Database_API.lvlib:DB Tools Open Connec (String).vi->checkLog.vi->vigateway.vi->vigateway.vi.ProxyCaller<ERR>ADO Error: 0x80004005
Exception occured in Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified in NI_Database_API.lvlib:DB Tools Open Connec (String).vi->checkLog.vi->vigateway.vi->vigateway.vi.ProxyCaller
It happens on LV 2012 and 2013. I've tried also with wi-fi switched off and it's the same. ODBC is supposed to be properly configured (it works for undeployed program). Everything is fine with Web Server configuration. VI works when it is run as application and web service but the problematic is VI I attached.
I'd be grateful for your help.