LabVIEW基于ODBC使用LabSQL操作SQLite数据库
在创作《LabVIEW HALCON图像处理入门教程时》时,作者发现LabVIEW在操作Access数据库时,存在缓慢内存增加的情况。而且在64位LabVIEW环境中,访问Access时,会引起灾难性错误(详情)。所以,使用ACCESS数据库来存储数据,并不是非常好的选择方案。那就只能替换为其它的数据库方式。但是像微软的SQL Server、MySQL、ORACLE等数据库,其实都是非常大型的数据库,通常是用于在线环境的,而且还有商业授权的问题,并不是非常建议使用。这里作者研究了一下SQLite数据库,非常适合于LabVIEW环境下本地数据库的开发应用。SQLite是一款轻量型的数据库,开源免费的,在我们的手机上、电脑上,其实很多APP、软件都是使用SQLite数据库来管理数据的,像QQ、微信等。其数据库本身就是一个*.db文件。配置环境非常简单,可以说是0配置。可以搜索一下,看到有些人直接调用其sqlite3.dll/sqlite.dll的动态库中的函数,来操作SQLite数据库。当然,你也可以这样做。在这里,我们使用的是LabVIEW中的一款免费的库LabSQL来操作。这里用到的LabSQL库可以参考链接:LabVIEW可用的LabSQL免费数据库工具包(2013版)http://pcmv.cn/thread-2078-1-1.html?fromuid=9。LabSQL性能其实也是很强大的,而且很轻巧,基于ADO方式来访问各种数据库。作者使用该库,可以成功访问Access/SQL Server/MySQL/SQLite等数据库。LabSQL库是基于操作系统的ODBC数据源来驱动访问数据库的,所以得先有SQLite的ODBC驱动。
SQLite是一款独立的数据库,不需要配置,也不需要安装环境,有需要,直接在别的地方复制一个*.db文件都可以使用。和Access有点类似(*.mdb),但是也有许多不同。Aceess是必须要基于微软的office专业版套件的,要想查看或编辑,还要安装专业版的office才会有access(得花钱买正版)。SQLite则不一样,其有多种免费的管理工具(交互界面)。这里作者使用的是SQLiteStuidio3.1.1中文版(最新的好像有3.3.3,但是中文语言时,界面没有完全汉化),退而求其次,使用了3.1.1版,问题不大。
SQLite Studio 3.1.1百度网盘下载链接:
链接:
LabVIEW基于ODBC使用LabSQL操作SQLite数据库
http://pcmv.cn/thread-28283-1-1.html?fromuid=9
(出处: 视觉论坛VISIONBBS|视觉之家VISIONHOME)
使用SQLite Studio可以创建新的db数据库,也可以编辑管理现有的数据库。
我们这里创建一个3.db的数据库。这里创建数据库的过程,作者没有研究是不是可以使用LabVIEW来实现。因为本身就是个db文件,一般就是创建好后,直接复制到其它项目中,然后利用利用创建修改表等方式来处理。所以,这里就没研究在LabVIEW中如何创建数据库。看了一下别人创建,有使用sqlite3.exe官方工具来创建数据库。
创建3.db数据库
创建的数据库没有表,是空的。可以在SQLite Studio创建新的表,也可以在LabVIEW中使用命令来创建表。
数据库文件已经有了,接下来就是处理SQLite的ODBC驱动。因为LabSQL是需要使用ODBC驱动来连接数据库的。SQLite的ODBC驱动,相对来说可用的比较少。有一些甚至还是收费的。这里找到了一个免费的(不清楚具体是免费的,还是破姐的)。版本也比较早(2014年的,不是很清楚在WIN10/Win11下支持如何,作者还在使用WIN7)。在安装时(作者同时安装了32/64位下的驱动),可以安装驱动SQLite2Driver。但是安装后,也是有SQLite3的驱动的:
SQLite ODBC驱动
下载地址:
LabVIEW基于ODBC使用LabSQL操作SQLite数据库
http://pcmv.cn/thread-28283-1-1.html?fromuid=9
(出处: 视觉论坛VISIONBBS|视觉之家VISIONHOME)
安装好SQLite ODBC Driver后,就可以在LabVIEW环境中,使用LabSQL来连接SQLite数据库了。其打开连接的的字符串方式是:
Driver={SQLite3 ODBC Driver};Database=数据库路径/xxx.db;
LabVIEW 32位环境下示例
本示例的基本功能:创建数据库链接,打开SQLite数据库,查询数据库中是否有指定的表(没有表,则创建新的表;有表,则使用现有的表),插入(如已经存在则忽略)新的数据,查询数据库中的数据,关闭连接
LabVIEW 64位环境下也可以使用
使用SQLite Studio中可以看到,已经创建了表,并插入了两行数据(一行是32位下插入的,另一行是64位下插入的)。
示例LabVIEW 2020SP1f1 32位或64位:
LabVIEW基于ODBC使用LabSQL操作SQLite数据库
http://pcmv.cn/thread-28283-1-1.html?fromuid=9
(出处: 视觉论坛VISIONBBS|视觉之家VISIONHOME)