My Thoughts


robbudge

Recommended Posts

MySql is open Source (Free) and very well supported.

When ever i need Data Base or Logging i use MySql.

You will need to install the MySql ODBC Connector

The Swiss Army Knife for MySql is a program Called 'Toad for MySql' this allows you to see and modify the tables, and to Manually run the and test Query's before running them in DAQ

Any Real problems, inside toad Issue the Command "SET GLOBAL general_log = 'ON';" Or OFF

Every Request from DAQ will be Logged, Don't Leave it On.

Once DAQ has Created the Table you can add additional columns and via a Sequence update the Information.

For Reporting i use a Sequence that Gets the Data from MySql and then Saves it as a CSV File.

The same goes for Graphing,

The Only Real Limitation is drive Space.

I have existing tables with over 2 million records and can produce a report / Graph or what ever i want by setting 2 dates and running a data Retrieve Sequence.

I have tried in the past using Access and Text File logging, but had problems with database size and controlling drive space.

For Example i have created a Function/ Sequence that updates a Changes Table.

Every time an operator changes a value i call the Sequence.

The sequence simply puts a time stamp and a message in the DataBase, I limit the table to 10,000 entries for speed and space but now i can look back and see every change the operators have made.

I do the Same for Alarm,Fired,Reset,Ack Events

Link to comment
Share on other sites

Thanks for the feedback! MySQL is great, and we use it exclusively. It scales very well, and the DAQFactory db.queryToClass() function makes reading data back pretty easy and flexible. Access is a desktop database and really only designed for small systems. CSV files are good, but you can't query against them. I sometimes will log both to CSV and a MySQL database just as a backup, as CSV files are easy to recover in case of disc corruption, and easy to backup and archive. I don't want to Microsoft bash here because these products have their place but:

Access: I think the front end user interface is what attracts people. Don't be fooled. As mentioned, there are tools for mySQL that give you a good front end for mySQL, and truthfully, unless you are doing really small systems (say under 10,000 records total), its just not going to scale

Excel: people consistantly use Excel for data analysis, I suppose because its on their machines and most people know how to use it. Its horrible though. Its like using a tractor to drive to the grocery store. Its the wrong tool for the job. It has its place for financial and other form based data manipulation, but for data analysis (columns of data) it is bad. I strongly recommend a real data analysis tool like Igor (my personal favorite).

MSSQL: I haven't used this much and now they have a free version, however, I will say this: there is a bug in MSSQL that causes their date format to be off by 2 days. All three of these mentioned products take dates as decimal days since 1900 (what we call Excel format), but for some reason, if you pass the same number to all three, MSSQL will show a date two days different from Excel or Access. I don't know if they forgot a leap year or two or what, but they really should be consistent across their product line.

Finally, the other advantage of MySQL is that it is cross platform. All the microsoft stuff has to run on Windows. MySQL will run on Linux and you can run it on Linux even if DAQFactory is on a Windows system. Just have the ODBC data source point to the networked mySQL instance.

Link to comment
Share on other sites

For the more complex Query's like referencing other tables, i first add the MySql tables to Acces, then use the Query Builder to Set all the Relationships and test the Final result.

You can the View the 'Query' in SQL

Copy and Paste into DAQ set my Variables and QueryToClass.

Job Done.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.