4、利用LabVIEW SQL Toolkit访问数据库4.1 LabVIEW SQL Toolkit简介
LabVIEW SQL Toolkit(又被称作为LabVIEW Database Connectivity Toolset)是用于数据库访问的附加工具包,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能
[10]
。其主要的功能如下:
(1)支持ADO所支持的所有的数据库引擎;
(2)支持所有与ODBC或OLE DB兼容的数据库驱动程序;
(3)具有高度的可移植性,在任何情况下,用户通过改变DB Tools Open Connection VI的输入参数Connection String就可以更换数据库;
(4)可以将数据库中Column Values的数据类型转换为标准LabVIEW Database Connectivity Toolset的数据类型,这进一步增强了它的可移植性; (5)与SQL兼容;
(6)不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作; (7)用户可以完全不需要学习SQL语法。
用户可以使用LabVIEW SQL Toolkit在LabVIEW中支持ODBC的本地或远程数据库,例如Microsoft Access,Microsoft SQL Sever,Sybase SQL Server以及Oracle等4.2应用实例
本应用实例是显示上面所建staff表中的所有记录,所使用的数据源与上面两例相同。具体步骤如下:
(1)使用DB Tools Open Connection打开数据库连接(2)显示指定数据表中所有数据。
使用DB Tools List Tables以一维数组形式列出指定数据库中的所有表,同时显示在前面板数组控件tables中。用户指定Table Index后,通过索引数组函数Index Array索引其中一个表。然后将表名连接到DB Tools List Columns和DB Tools Select All Data。
DB Tools List Columns的Columns参数用一维字符串数组返回指定表的字段名,通过属性节点将字段名显示在表格控件Table Data的首行,同时使用数组大小函数Array Size取得字段数,即表的列数,显示在Columns中。
DB Tools Select All Data的Data参数以二维字符串数组形式返回表中所有数据,显示在Table Data中,同时使用Array Size和Index Array函数取得记录数,也就是行数,显示在Rows中。
[12]
[11]
。
。
(3)使用DB Tools Close Connection断开连接。 此程序的前面板和程序框图如图5、图6所示。
图5 显示表中所有数据的前面板
图6 显示一个数据表中所有数据的程序框图
5、结论
综上所述,使用ADO,LabSQL或LabVIEW SQL Toolkit访问数据库的基本步骤都是相同的,都要经过连接数据库、执行操作、断开连接这三个步骤。
使用ADO主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少,但需要用户对Microsoft ADO以及SQL语言有较深的了解。
使用LabSQL不用精通ActiveX技术和SQL语言,操作简介,容易理解,但它没有对ADO的所有功能进行封装,功能上有局限性。
LabVIEW SQL Toolkit支持ADO所支持的所有的数据库引擎,不使用SQL语句就可以实现数据库记录的查询、添加、修改以及删除等操作,使用SQL语句能够实现复杂的数据库操作,功能强大,但其昂贵的价格对于很多用户来讲是不能承受的,这也限制了它的推广应用。 在实际应用中,用户究竟采用哪种方法要从项目难易程度、自身编程水平和技术经济等方面综合考虑
在LabVIEW中利用ActiveX技术访问数据库
LabVIEW是面向仪器与测控过程的图形化软件开发平台,全称是Laboratory Virtual Instrument Engineering Workbench——实验室虚拟仪器工程平台。其突出特点是基于图形化编程语言G的虚拟仪器开发环境,为仪器设计人员提供了一种全新的编程方法,即使用直观的前面板与流程图相结合的编程方法来构建虚拟仪器。LabVIEW在自动化、通信、航空、半导体电路设计和生产、过程控制及生物医学等在内的全世界各种工业领域中都发挥了积极的作用。基于LabVIEW的众多优势,在设计一个“旋转机械故障诊断系统”时,我们选择其作为主要编程工具。
在该诊断系统中提供了一个设备资料数据库,包括“设备名称”、“设备参数”、“故障特征频率”、“维护人员”等,为故障诊断提供相关信息。该数据库我们采用Microsoft Office中的ACCESS来搭建。ACCESS适合开发中小型管理信息系统。对于数据库最终用户,ACCESS提供了许多便捷的可视化操作工具(如表生成器、查询设计器、
窗体设计器、报表设计器等)和向导(如表向导、窗体向导、查询向导、报表向导等)。数据库最终用户利用这些工具和向导不用编程即可构造简单实用的管理信息系统。
作为一个强大的软件设计工具,LabVIEW拥有很多的专业设计功能(如:应用程序生成器、数据库连接工具、Microsoft Office报告生成工具、Internet工具等),而这些都以附加工具包的形式向用户发布,这些附加工具包的价格都比较昂贵,从而提高了使用者的设计成本。为了在不提高设计成本的前提下实现对ACCESS数据库的访问,我们充分利用LabVIEW提供的ActiveX控件设计了数据库访问程序。
ActiveX技术定义及在LabVIEW中的应用
ActiveX是指为达到某种处理需要,允许用户对单独程序重复使用代码并将其链接整合的一系列微软技术。它是基于COM(组件对象模型)技术,是对先前称为OLE(对象链接和嵌入)技术的扩展。
LabVIEW自4.1版本就引入了支持ActiveX 自动控制的功能模块,在5.1版本之后支持客户和服务器双方,即虽然程序是在双方各自独立存在,但它们的信息是共享的。这种信息共享是通过客户端使用由服务器端发布的ActiveX控件来实现的。LabVIEW在其应用编程接口中提供了为客户端和服务器之间链接的功能模块,图1展示的是LabVIEW中使用ActiveX控件的程序流程。
从图中可以看到程序设计主要包括了三个步骤:1.打开自动调用参数:指定所要调用数据库的类型(即调用方法),为数据库调用作好准备;2.设置(获得)参数属性和调用方法:通过使用属性和方法来访问数据库,“方法”通常包括打开数据库、数据记录查询等,“属性”包括数据库的名称、记录数据的类型等。3.关闭自动调用参数:结束数据库调用。其中关键的是第二步,只有充分的利用“属性”和“方法”的设置才能成功地实现对数据库的访问。 数据库访问实例
为了便于说明,本文给出实例如下:
该例子是利用LabVIEW的ActiveX来访问一个用ACCESS搭建的“轴承故障参数.mdb”数据库。数据库中含有一个表:轴承故障参数。该表中包括有“轴承型号”、“内圈特征频率”、“外圈特征频率”、“滚动体特征频率”4个字段。程序完成后的效果是通过在前面板选择“轴承型号”来获得其它相应的参数,从而为设备故障诊断提供依据。 图2 LabVIEW数据库访问程序框图

