LabVIEW 中利用LabSQL 访问数据库
虚拟仪器VI(virtual instruments)是National Instruments公司在其产品LabVIEW中首先提出的创新概念。随着现代测试技术与仪器技术的发展,目前虚拟仪器概念已经发展成为一种创新的仪器设计思想,成为设计复杂测试系统和测试仪器的主要方法和手段。同时LabVIEW也以成为测试与测量领域的工业标准应用编程软件。
但由于LabVIEW本身并不具备数据库访问功能,因此以LabVIEW编制的虚拟仪器系统需要其它辅助的方法来进行数据库访问。
1 LabVIEW 中与数据库接口的方法 在基于数据库的虚拟仪器测量测试系统中,很重要的一部分工作是对实时采集地的数据进行显示、查询、统计、生成报表分析等。这其中涉及的最主要的任务就是对数据的读取和写入,即与数据库系统进行交互。据笔者所知,在LabVIEW 编程环境下,通常通过以下几种方法来完成与数据库的接口。
利用NI 公司的附加工具包LabVIEW SQL Toolkit 进行数据库访问。但是这种工具包比较昂贵,对于很多LabVIEW 用户来讲,这个价格是不可能承受的。
利用其他语言如Visual C++编写DULL 程序访问数据库,再利用LabVIEW 所带的DULL 接口访问该程序,这样可以实现间接访问数据库。但这样工作量太大。
利用LabVIEW 的ActiveX 功能,调用Microsoft ADO 控件,利用SQL 语言实现数据库访问。利用这种方式进行数据库访问需要用户对Microsoft ADO 控件以及SQL语言有较深的了解,并且需要从底层进行复杂的编程才能实现。这对于大多数用户来讲也是不现实的。
这几种方法虽然都可以完成对数据库的访问,但各有缺点不能满足系统对数据库实时访问的要求。本文提出通过LabVIEW 用户开发的免费LabVIEW 数据库访问的工具包LabSQL来解决以上存在的问题。
2 数据库访问的工具包LabSQL 简介 LabSQL 是一个免费的、多数据库、跨平台的LabVIEW 数据库访问工具包。目前的版本是LabSQL Release 1.1,LabSQL 支持Windows 操作系统中任何基于OBDC 的数据库,包括Acess,SQL Server,Orcale,Pervasive,Sybase 等。LabSQL 是利用Microsoft ADO 以及SQL 语言来完成数据库访问,将复杂的底层ADO 及SQL 操作封装成一系列的LabSQL VIs。利用LabSQL 几乎可以访问任何类型地数据库,执行各种查询,对记录进行各种操作。它的优点是易于理解,操作简单,不熟悉SQL 语言的用户也可以很容易地使用。只需进行简单地编程,就可在LabVIEW 中实现数据库访问。它还有一个最大的优点是源代码开放,并且是全面免费的。(注:LabSQL 的下载网址http://jeffreytravis.com)
Microsoft ADO 简介:Microsoft AciveX Data Objects(ADO)是微软最新的数据库访问技术,可以用于编写通过OLE DB 提供者对在数据库服务器中的数据进行访问和操作的应用程序。OLE DB 是一个底层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库以及电子邮件系统和自定义的商业对象。ADO 为用户提供了一个OLE DB 的Automation 封装接口。如同不同的数据库系统需要它们自己的ODBC 驱动程序一样,不同的数据源要求它们自己的OLE DB 提供者(OLE DBprovider)。
SQL 作为关系型数据库中的一种通用的结构化查询语言,它的主要功能就是同各种数据库建立联系,进行沟通。SQL 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前绝大多数的关系型数据库管理系统,如Orcale,Sybase,Microsoft SQL Server, Access 等都采用了SQL 语言表标准。
3 LabVIEW 中对LabSQL 的使用3.1 LabVIEW 中加入LabSQL 在LabVIEW 安装目录中的user.lib 文件夹中新建一个名为LabSQL 的文件夹,并将下载得到的LabSQL.zip 压缩文件中所有文件解压到这个文件夹中。解压缩后的文件包括LabSQLADO functions 和Examples 两个文件夹,以及ADO210.CHM 和README_FIRST.txt 两个文件。再次运行时,LabVIEW 的功能模块就会自动加载LabSQL。3.2 LabSQL 的配置
LabSQL 与数据库之间是通过ODBC 连接,用户需要在ODBC 中指定数据源名称和驱动程序。因此在使用LabSQL之前,首先需要在Windows 操作系统中的ODBC 数据源中创建一个DSN(data source name,数据源名)。LabSQL 与数据库之间的连接就是建立在DSN 基础之上的。其连接流程如图2 所示。
3.3 LabSQL VIs 分类LabSQL VIs 按照功能可分为四类:Command VIs;Connection VIs;Recordset VIs;Top Level VIs。Command VIs 的功能是完成一系列的基本ADO 操作,例如,创建或删除一个Command,对数据库中的某一个参数进行读或写等。Connection VIs 的功能是管理LabVIEW 与数据库之间的连接。Recordset VIs 用于对数据库中的记录进行各种操作,例如,创建或删除一条记录,对记录中的某一条目进行读或写等。Top Level VIs 属于顶层的LabSQL 应用,对前三类LabSQL VIs 某些功能的封装,例如,SQL Execute.VIs 可用于直接执行SQL 命令。
3.4 利用LabSQL 开发的基本步骤
利用LabSQL 在数据库操作中可实现应用程序与数据库之间的数据交互传递。一般的简单操作步骤如图3 所示。
4 LabSQL 应用实例
本应用实例是基于VI 的随动测试系统,该测试系统需要对事先存储的各测试点的基本资料,标准值、上下限值进行读取,然后与采集的数据值进行计算、判断,并进行状态记录存储和管理。其数据库采用的是Microsoft Access 系统,它的使用和维护较简单,并且能够满足本系统的需要。限于篇幅,本文只对打开数据库、查询指定的记录的字段值和向数据库添加、删除、修改记录的实现方法作一下介绍,以起到抛砖引玉的作用。图四即为笔者编写的对数据库进行简单操作的框图。
具体步骤如下:第一步:首先通过ADOCreate.vi 创建一个Connection对象,然后利用ADOConnection Open.vi 建立与数据库的连接,数据库由字符串ConnectionString“DSN=myDB”。(myDB 是一个在Windows ODBC 数据源中创建的一个DSN,并与想要连接的数据库相连接。第二步:利用ADO RecordsetCreate.vi 创建一个Recordset 对象,然后利用ADO Recordset Open.vi 打开Recordset 对象,并同时利用SQL 查询命令获得数据库表中的全部或部分记录。第三步:通过功能选择按钮来选择控制对数据库的操作(查询、添加、删除、修改)。第四步:利用ADORecordset Close.vi 和ADO Connection Close.vi 关闭与数据库之间的连接。 以上所举的例子只是对数据库的基本操作,如果综合利用LabSQL 的四类VIs,就可以实现复杂的数据库操作。另外注意Microsoft ADO 控件具有远程数据库访问的功能,但是LabSQL 并没有开发这一功能。
5 小结
实践证明,在LabVIEW 利用LabSQL 数据库访问工具包实现对数据库的访问,比其它方式操作更简洁,更容易理解,不用精通ActiveX 技术和SQL 语言。充分利用了现有的资源,就可以数据库的实时操作,应该是一个值得学习和推广的方法。
-
数据
+关注
关注
8文章
7002浏览量
88937 -
数据库
+关注
关注
7文章
3794浏览量
64352
原文标题:轻松教你搞定数据库应用
文章出处:【微信号:gh_15eff9efd85b,微信公众号:漫谈labview学习】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论