APP下载

LabVIEW中访问数据库几种不同方法的探讨

2011-10-26徐小华贺斌

中国科技信息 2011年7期
关键词:程序框图虚拟仪器数据源

徐小华 贺斌

昭通师范高等专科学校

LabVIEW中访问数据库几种不同方法的探讨

徐小华 贺斌

昭通师范高等专科学校

本文介绍并比较了LabVIEW中访问数据库的几种方法,并重点讨论了应用ActiveX功能、LabSQL访问数据库的方法。把数据库技术应用于虚拟仪器中充分发挥了数据库的管理优势,扩展了虚拟仪器的功能。

LabVIEW;LabSQL;数据库

引言

LabVIEW(Laboratory Virtual Instrument Engineering Workbench是目前应用最广泛的虚拟仪器开发环境之一,它具有工业标准的图形化编程工具,主要用于开发测试、测量和控制系统。但在使用LabVIEW编写应用系统时,在很多场合需要对大量的数据进行处理,这时需使用数据库实现对需要的数据进行处理。但是LabVIEW身并不具备数据库访问功能,不能像VB、VC++、Delphi非常方便地进行数据库程序的开发,因此在LabVIEW开发中需解决与数据库之间的互访和管理问题。

1 LabVIEW中访问数据库方式

LabVIEW中访问数据库方式有以下几种方法:(1)利用中间文件存取数据;(2) 利用NI公司的附加工具包LabVIEW SQL Toolkit实现对数据库的访问;(3) 利用其他语言编写动态链接库DLL(Dynamic Link Library),再利用LabVIEW的调用库函数节点CLFN(Calling Library Function Node)调用此DLL间接实现对数据库的访问;(4) 利用LabVIEW的ActiveX功能;(5) 通过第三方开发的免费工具包LabSQL访问。

第一种方法先将数据存入文件之中,在一定时刻或者是需要的时候在用第三方程序将数据导入到数据库之中。这种方法用户操作需分成两个部分,磁盘文件作为中介,实时性不高,不方便使用。第二种方法NI公司的附加工具包需要另外购买且价格昂贵,它集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。它的优点是易于理解,操作简单,缺点是增加系统成本。第三种方法需要从底层进行复杂的编程才能实现,对非专业编程人员来讲是不现实的。第四种方法需调用Microsoft ADO对象,利用SQL语言实现数据库的访问。使用这种方法需要用户对Microsoft ADO以及SQL语言有较深的了解。第五种方法是LabSQL将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs,它几乎可以访问任何类型的数据库。它的优点是易于理解,操作简单,不熟悉SQL 语言的用户也可以很容易地使用,只需简单的编程就可在LabVIEW中实现数据库访问。目前后两种方法使用比较广泛,下面将讨论这两种方法。

2 LabVIEW 8.2中文版ADO编程

在使用ADO编程时,首先需建立ADO对象在程序框图面板中,选择函数模板的“互连接口”的子模板中选择“ActiveX”项,再选择“打开自动化”控件并把它拖放到程序程序框图面板上,在右击菜单中点击“选择ActiveX 类”,在选择浏览…,弹出“选择ActiveX 类”对话框,在类型库Type Library下拉列表中选择“Microsoft ActiveX Data Objects 2.7 Library Version 2.7”,在下面的对象Objects列表栏中出现这个库对LabVIEW可用的对象。如图1所示。Connection对象用来连接和数据库连接建立,Recordset对象用来处理记录集。在利用“调用节点”控件来设置连接到数据源、生成SQL命令、关闭连接等相关操作的对象。

图1 选择ADO对象并引入程序

3 利用LabSQL实现对数据库添加数据

3.1 LabSQL简介

LabSQL VIs 按照功能可分为四类:Command VIs、Connection VIs、Recordset VIs、Top Level VIs。Command VIs 的功能是完成一系列的基本ADO 操作;Connection VIs的功能是管理LabVIEW与数据库之间的连接;Recordset VIs用于对数据库中的记录进行各种操作;TopLevel VIs属于顶层的LabSQL 应用,对前三类LabSQL VIs 某些功能的封装。例如,SQL Execute.vi可用于直接执行命令。

3.2 应用实例

本实例是实现数据库查询的方法。实现数据库查询共有两种方法,一是利用Recordset VIs实现,二是用Connection VIs实现,实例采用第一种方法来实现。使用LabSQL前,需要在Windows操作系统中的ODBC(Open Data Base Connectivity)数据源中创建一个DSN(Data Source Name,数据源名),本实例的数据源是DSN,数据表是测试。LabSQL与数据库之间的连接就是建立在DSN基础之上。具体步骤如下,第一步:使用ADO Connection Create. vi创建一个Connetction对象,然后使用ADO Connection Open.vi打开名为测试数据记录的数据源,与数据库文件建立连接。第二步:使用ADO Recordset Create. vi创建一个数据记录对象,然后使用ADO Recordset open.vi打开一个记录对象,使用SQL命令“SELECT*FROM 测试 where”结合检索内容实现数据库数据检索。第三步:使用ADO SQL Fetch.vi把用户条件检索的结果以表格的形式显示出来。第四步:使用ADO Recordset Close.vi和ADO Connection Close.vi断开与数据库的连接,完成按条件查询功能。如图2是数据库查询程序框图和图3是数据库查询前面板。

图2 数据查询程序框图

图3 数据查询前面板图

4 结论

综上所述,使用LabVIEW访问数据库的基本步骤都是相同的,都要经过连接数据库、执行操作、断开连接这三个步骤。使用ADO主要优点是易于使用,但需要用户对Microsoft ADO以及SQL语言有较深的了解。使用LabSQL不用精通ActiveX技术和SQL语言,操作简介,容易理解,但它对ADO的所有功能未进行完全封装,功能上有局限性。在实际应用中,用户究竟采用哪种方法要从项目难易程度、自身编程水平和技术经济等方面综合考虑。

[1]刘君华.基于LabView的虚拟仪器设计.电子工业出版社[M].2003

[2]NI Corp.LabView User Manual [M].USA.1998

[3]杨乐平,李海涛,赵勇,杨磊.LabVIEW高级程序设计.北京:清华大学出版社.2003.2

[4]雷振.LabVIEW 7 Express实用技术教程.北京:中国铁道出版社.2004. 250-251

[5]戴鹏飞,王胜开,等.测试工程与LabVIEW 应用.电子工业出版社[M].2006.5

The paper analyzes several methods of accessing database with LabVIEW program. The methods of calling ActiveX and LabSQL under LabVIEW environment are fully discussed. The operation shows that the combination of database access technology and virtual instrument takes advantage of database in the side of data management and expands the functions of virtual inStrument.

LabVIEW; LabSQL; Database;

10.3969/j.issn.1001-8972.2011.07.067

地址:云南省昭通市昭通师范高等专科学校。

猜你喜欢

程序框图虚拟仪器数据源
“顺势而下”破解程序框图
算法与程序框图常考类型
Web 大数据系统数据源选择*
程序框图问题的精彩交汇
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
基于不同网络数据源的期刊评价研究
一种基于虚拟仪器的电控柴油机实验台的设计
虚拟仪器技术在农业装备测控中的应用
程序框图题盘点