Olivier Jourdan Posted September 30, 2010 Report Share Posted September 30, 2010 Hi all, I've been working at SAPHIR for many years (SAPHIR is a 20 years old french company - www.saphir.fr). We have implemented DataBase (ACSESS, MySQL...) in several LabVIEW applications. Since one year, we are using SQLite database without any trouble and now we are pleased to announce the release of our new toolkit: SQLiteVIEW. It will be available with a 30 days evaluation version. You can already read more about it here. You can also learn more about SQLite here. We plan to release this toolkit in a couple of weeks and we hope you'll like it as we do Regards Quote Link to comment
SuperS_5 Posted September 30, 2010 Report Share Posted September 30, 2010 Hi, I have been playing with SQlite for a little while, that a LabVIEW toolkit would be nice. However, for the moment, I would not use it for any of my current customers, and would only be for "learning" and proof of concept purposes. I, therefore, request a "community" or "educational" version that would allow for use of the toolkit past your trial period, but not for commercial uses. Quote Link to comment
jcarmody Posted September 30, 2010 Report Share Posted September 30, 2010 [...] a 30 days evaluation version. [...] After the evaluation, how much will it cost? How will it be licensed? Quote Link to comment
Clio75 Posted September 30, 2010 Report Share Posted September 30, 2010 After the evaluation, how much will it cost? How will it be licensed? I can be intrested if the price is rigth Quote Link to comment
Michael Aivaliotis Posted September 30, 2010 Report Share Posted September 30, 2010 Hi all, I've been working at SAPHIR for many years (SAPHIR is a 20 years old french company - www.saphir.fr). We have implemented DataBase (ACSESS, MySQL...) in several LabVIEW applications. Since one year, we are using SQLite database without any trouble and now we are pleased to announce the release of our new toolkit: SQLiteVIEW. It will be available with a 30 days evaluation version. You can already read more about it here. You can also learn more about SQLite here. We plan to release this toolkit in a couple of weeks and we hope you'll like it as we do Regards This is awesome news. A couple of weeks? I want it now! Quote Link to comment
ShaunR Posted September 30, 2010 Report Share Posted September 30, 2010 I want it now! Then take a look at this Quote Link to comment
Michael Aivaliotis Posted September 30, 2010 Report Share Posted September 30, 2010 Then take a look at this Thanks. I should hang around LAVA more often. Quote Link to comment
ShaunR Posted September 30, 2010 Report Share Posted September 30, 2010 Thanks. I should hang around LAVA more often. Naaah. You probably have a real life Quote Link to comment
Olivier Jourdan Posted October 1, 2010 Author Report Share Posted October 1, 2010 Hi all, Thank you for your interesting comments. I'll try to be more precise about our toolkit. I, therefore, request a "community" or "educational" version that would allow for use of the toolkit past your trial period, but not for commercial uses. There's no plan to support a "limited version" of our toolkit but it could be a way to democratize SQLite use, so... After the evaluation, how much will it cost? How will it be licensed? I can be intrested if the price is rigth We don't really know what is the "right" price, but we know how many effort we've done to release this toolkit. We've decided to sell it at 699$ and offer a special pricing up to the end of the year (a certain % discount not yet defined...). The licensing is intended for a single computer activation. No runtime needed to build applications. This is awesome news. A couple of weeks? I want it now! we are working away to release SQLiteVIEW as soon as possible Then take a look at this I've took a look at this and it seems, as far as I can see, the "NI implementation" is quite more complex due to the execution on RT target. SQLiteVIEW only needs sqlite3.dll (or .so for linux OS) to run. Our toolkit also provides way to improve query execution performance using statement features and we have lot of other useful features to add to improve the end-user development experience. Stay tuned to evaluate our toolkit for free. We are looking forward to know your feelings about it. Regards Quote Link to comment
sam Posted October 1, 2010 Report Share Posted October 1, 2010 I have used Sqlite since 2004, my first implementation I used a wrapper dll around the Sqlite3.dll. But now you can use the DLL-Import feature of LabVIEW and import the Sqlite3.dll and have yourself a fully working toolkit. After import you have to replace a couple of Type-controls to Int32 and you will be done in less than an hour. I don't want to be mean but what are the difference between your toolkit and what Dll-Import makes. I can appreciate a Toolkit that simplifies working with LabVIEW data and Database so that the programmer does not have to use a single SQL statement. Quote Link to comment
mprim Posted October 1, 2010 Report Share Posted October 1, 2010 Sam, Would you be willing to share some vi's or more information about your experience in using the DLL-import feature? I have had a lot of trouble using DLL's with LabView. Mark I have used Sqlite since 2004, my first implementation I used a wrapper dll around the Sqlite3.dll. But now you can use the DLL-Import feature of LabVIEW and import the Sqlite3.dll and have yourself a fully working toolkit. After import you have to replace a couple of Type-controls to Int32 and you will be done in less than an hour. I don't want to be mean but what are the difference between your toolkit and what Dll-Import makes. I can appreciate a Toolkit that simplifies working with LabVIEW data and Database so that the programmer does not have to use a single SQL statement. Quote Link to comment
ShaunR Posted October 1, 2010 Report Share Posted October 1, 2010 Hi all, I've took a look at this and it seems, as far as I can see, the "NI implementation" is quite more complex due to the execution on RT target. SQLiteVIEW only needs sqlite3.dll (or .so for linux OS) to run. Our toolkit also provides way to improve query execution performance using statement features and we have lot of other useful features to add to improve the end-user development experience. Stay tuned to evaluate our toolkit for free. We are looking forward to know your feelings about it. Regards Actually I would say the opposite..... Its too simple But probably sufficient for most users. Why they went for an intermediate "wrapper" dll is beyond me. I guess NI has more C programmers than LV programmers nowadays (or maybe just lazy to implement the switching in LV). But the wrapper is only half a page (excluding comments, spacing) basically just opening, preparing and executing the SQL. The fact that it supports RT targets isn't that complicated (conditional disable structure). But it overlooks a lot of DB functionality (parametrised queries for example). I would ignore the RT targets at your peril. This is the only viable database solution available for RT and (IMHO) why most LV users are interested. And, as I intimated earlier, all you need is a conditional disable and a DLL compiled for the targets (that's where most LV users will come up against a brick wall if they want to "roll-their-own") . There are many FREE db solutions for windows and linux (don't forget MAC too) You might also consider providing a "drop-in" replacement for the NI Database Toolkit to allow users to easliy switch/update to SQLite. Nothing sells a product quicker than an easy upgrade path If your engineers are suggesting an implementation in .NET. Slap them for me please Quote Link to comment
sam Posted October 1, 2010 Report Share Posted October 1, 2010 I can't share the VIs I am using, but I will give you the core functionality of Sqlite VIs that Import-Dll creates. From these VIs you can see how to change the VIs created by Import DLL. Let me know if you have any questions. I have included the Sqlite3.dll, but you should've already have this Dll if you are interested in Importing it to LabVIEW :-) Sqlite.Tester.zip 2 Quote Link to comment
Olivier Jourdan Posted October 4, 2010 Author Report Share Posted October 4, 2010 Lots of interesting comments and constructive feedback I can appreciate a Toolkit that simplifies working with LabVIEW data and Database so that the programmer does not have to use a single SQL statement. We have these kind of tools but they need to be "clean up" to be integrated in our toolkit. But now you can use the DLL-Import feature of LabVIEW and import the Sqlite3.dll and have yourself a fully working toolkit. After import you have to replace a couple of Type-controls to Int32 and you will be done in less than an hour. We are not used to use this LabVIEW feature and we definitely not thinking that implement the ddl call was the most difficult to do. We also think that most of LabVIEW user are not familiar with dll and haven't time to do this work. Regards Quote Link to comment
Val Brown Posted October 4, 2010 Report Share Posted October 4, 2010 I can't share the VIs I am using, but I will give you the core functionality of Sqlite VIs that Import-Dll creates. From these VIs you can see how to change the VIs created by Import DLL. Let me know if you have any questions. I have included the Sqlite3.dll, but you should've already have this Dll if you are interested in Importing it to LabVIEW :-) OK, I've tried opening this ZIP and I get an error message about Searching for: <userlib>:|SQLite\Custom Controls\sqlite3.ctl. Can anyone help with this? Quote Link to comment
jcarmody Posted October 4, 2010 Report Share Posted October 4, 2010 OK, I've tried opening this ZIP and I get an error message about Searching for: <userlib>:|SQLite\Custom Controls\sqlite3.ctl. Can anyone help with this? Just replace it with an I32 constant. [...] We've decided to sell it at 699$ and offer a special pricing up to the end of the year (a certain % discount not yet defined...). [...] We are not used to use this LabVIEW feature and we definitely not thinking that implement the ddl call was the most difficult to do. We also think that most of LabVIEW user are not familiar with dll and haven't time to do this work. It seems that the amount of work involved isn't proportional to the price you're suggesting. Why so much? I can't afford it Quote Link to comment
ShaunR Posted October 4, 2010 Report Share Posted October 4, 2010 It seems that the amount of work involved isn't proportional to the price you're suggesting. Why so much? I can't afford it If it is full blown implementation then it is a lot of work. I think, however, most people only need/use the basics. I just hope its not ADO or .NET. 1 Quote Link to comment
Olivier Jourdan Posted October 5, 2010 Author Report Share Posted October 5, 2010 (edited) It seems that the amount of work involved isn't proportional to the price you're suggesting. Why so much? I can't afford it Sell a product (we experienced this with a ModBus protocol toolkit since 1996) is not only provide a set of functional VIs. We have to provide full integration to LabVIEW with an easy and quick install process (thank you VIPM ) provide support to customers (how to, documentation...) maintain toolkit over LabVIEW version (for example upgrade from LV8.6 to LV2009 has reveal a bug (already fixed ) in SQLiteVIEW improve the toolkit (performances, new features...) and many other "little" hidden things. As I said before the "right" price is very difficult to determine but keep in touch, there will be a significant discount for the release If it is full blown implementation then it is a lot of work. I think, however, most people only need/use the basics. I just hope its not ADO or .NET. It's not ADO or .NET, our toolkit is fully compatible with Linux (We are currently using it for a multi platform (Windows/Linux) application. Mac OS support might be possible, but we have to compile the SQLite source in a framework... Edited October 5, 2010 by Olivier Jourdan Quote Link to comment
sam Posted October 5, 2010 Report Share Posted October 5, 2010 To have Sqlite working for any platform you can use the precompiled libraries that SQlite website already provides: Windows: http://www.sqlite.org/sqlite-3_7_2.zip Linux: http://www.sqlite.org/sqlite3-3.7.2.bin.gz Mac OS X (x86): http://www.sqlite.org/sqlite3-3.7.2-osx.zip If you change the Source Code Of Sqlite to fit your product, then I don't think you can call it Sqlite , because you are changing the source. If you are using a C-Wrapper around it then you are introducing another level of redirection and extra code to maintain. A c-wrapper will force you to reduce the functionality that you can provide thru your wrapper. I have been down that road and it's not pretty. Have a look at the documentation of sqlite here: http://www.sqlite.org/c3ref/funclist.html. Will I have access to ALL the features of Sqlite described in their documentation? If a product is PAID then I would want/expect it. Because the reality is the Sqlite project is mature and a throughly tested product, and simply exposing the functions doesn't qualify for a commercial product. I know you are anticipating supporting the product, but how much of this support is going to be directed toward your-method-of-exposing Sqlite DLL, and actual fault-of-sqlite. I don't know if I have been clear. Like I said earlier just wrapping the sqlite3.dll for LabVIEW is not going to be enough, you need to separate the programmer from the database, which you said you have such tools (Great), but also provide all the advanced functions that Sqlite itself already provides , see documentation. I am not against a paid Sqlite-LabVIEW toolkit but only hope that a really Solid and worthy Toolkit is released that everyone can benefit, even the one who are capable of doing the work. Quote Link to comment
Olivier Jourdan Posted October 5, 2010 Author Report Share Posted October 5, 2010 If you change the Source Code Of Sqlite to fit your product, then I don't think you can call it Sqlite , because you are changing the source. If you are using a C-Wrapper around it then you are introducing another level of redirection and extra code to maintain. A c-wrapper will force you to reduce the functionality that you can provide thru your wrapper. I have been down that road and it's not pretty. I think there is a misunderstood (probably due to my english level, I'm sorry of that and apologize). We don't have modified SQLite source code. We are using dll and library provided here for window and Linux. Concerning Mac OS X, as far as I know, we need a framework not a command line tool to be able to reuse the same LabVIEW code over the 3 Operating Systems. Like I said earlier just wrapping the sqlite3.dll for LabVIEW is not going to be enough, you need to separate the programmer from the database, which you said you have such tools (Great), but also provide all the advanced functions that Sqlite itself already provides , see documentation. For the first release, we will not provide all the advanced functions but the functions essential (for us) for execute query with "high performance". I am not against a paid Sqlite-LabVIEW toolkit but only hope that a really Solid and worthy Toolkit is released that everyone can benefit, even the one who are capable of doing the work. Believe me when I agree the "solid and worthy toolkit" terms. We can't think our product in an other way and I'll take all these feedbacks into account for the future version of SQLiteVIEW. Regards 2 Quote Link to comment
Michael Aivaliotis Posted October 6, 2010 Report Share Posted October 6, 2010 It takes balls of steel to release a LabVIEW toolkit product and I commend SAPHIR for stepping up to the plate. Having gone down that road, I can tell you it's not something any company should or can take lightly. I'll eagerly wait for a trial version and will provide any feedback I can to help test and improve the product. 1 Quote Link to comment
Olivier Jourdan Posted October 14, 2010 Author Report Share Posted October 14, 2010 It was longer than we thought, but our toolkit is now available. Just run your VIPM 2010 app, a dialog window might prompt you to install SQLiteVIEW in your LabVIEW. For more information just go here. Regards. 1 Quote Link to comment
GoGators Posted October 14, 2010 Report Share Posted October 14, 2010 Hi Olivier, I was the SE that put together the DevZone article Supporting Relational Databases in LabVIEW Realtime. I am glad to see someone making a commercial product out of SQLite. The only reason code exists for VxWorks targets is because an intern needed it for his project before going back to college. I cleaned it up for example purposes. I am glad you are supporting Windows and Linux, but it would be very interesting if you also supported real-time targets. As it was previously mentioned, on general purpose OSes, there are typically quite a few options for databases. Although SQLite is light weight and fast, most customers want an enterprise level database connectivity. But when it comes to RT targets, light weight and fast are imperative. That is why SQLite is used heavily in embedded targets (like cell phones), and is very attractive. As a side note, I would test your toolkit on a NI Real-time controller running PharLap (any PXI system). PharLap is a stripped out version of Windows, so the toolkit might work as is. Might be another selling point. VxWorks would require you to look at the code in the article. Cheers Quote Link to comment
Olivier Jourdan Posted October 15, 2010 Author Report Share Posted October 15, 2010 (edited) As a side note, I would test your toolkit on a NI Real-time controller running PharLap (any PXI system). PharLap is a stripped out version of Windows, so the toolkit might work as is. Might be another selling point. VxWorks would require you to look at the code in the article. Hello, I agree the RT interest. As a first step, I've run DLL Checker (found here) on sqlite.dll and result seems to show there are some "bad" functions... However, we don't investigate more on this for now.Regards Edited October 15, 2010 by Olivier Jourdan Quote Link to comment
Olivier Jourdan Posted March 18, 2011 Author Report Share Posted March 18, 2011 We have just post an additional free package (this is a beta version) to SQLiteVIEW on the SAPHIR - toolkits community. This package intend to add the ability to write (and read) cluster to SQLite database as OpenG Variant Configuration File functions do with configuration file. You can find more information here Regards, Olivier Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.