设为首页 加入收藏

Artificial Intelligence and Robotics Research
Vol.2 No.2(2013), Article ID:11764,3 pages DOI:10.12677/AIRR.2013.22014

Database Access Technology Based on LabSQL

Yugang Wang, Xudong Li, Xuhua Dong, Xingzhen Fu, Ye Chen

Department of Aviation Armament Fire Control System, Naval Aeronautical Engineering Academy of Qingdao Branch, Qingdao

Email: flyingmanwang@163.com

Received: Jan. 16th, 2013; revised: Feb. 14th, 2013; accepted: Feb. 23rd, 2013

Copyright © 2013 Yugang Wang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

ABSTRACT:

In this article, some kinds of methods that LabVIEW used to access database are summarized and compared with, and LabSQL database access kit has been introduced emphatically. It explains the method of data exchange using LabSQL in LabVIEW. It has been applied to the certain talent management system. It can also carry out complex database operations if integrated.

Keywords: LabSQL; Database; LabVIEW

基于LabSQL的数据库访问技术

王玉刚,李旭东,董绪华,付兴振,陈  晔

海军航空工程学院青岛校区航空军械火控系,青岛

Email: flyingmanwang@163.com

摘 要:

本文总结并比较了用LabVIEW访问数据库的几种方法,重点介绍了LabSQL数据库访问工具包,说明了在LabVIEW环境下,利用LabSQL实现与数据库交互的方法,实现某型人才数据管理任务。将其综合利用,可实现复杂的数据库操作。

收稿日期:2013年1月16日;修回日期:2013年2月14日;录用日期:2013年2月23日

关键词:LabSQL;数据库;LabVIEW

1. 引言

1.1. 虚拟仪器开发环境LabVIEW

LabVIEW是美国NI公司开发的具有革命性的图形化虚拟仪器开发环境,它内置信号采集、测量分析与数据显示功能,集开发、调试和运行于一体。LabVIEW实际上不是一个词,而是一个缩写,含义是:Laboratory Virtual Instrument Engineering Workbench,可以翻译成“在实验室使用的工程师的虚拟仪器平台”。LabVIEW的交互式测量、自动代码生成以及与成千上万个设备简易连接的特性,使它能够轻而易举地完成数据采集。其最大特点就是把仪器功能由生产厂家定义的方式转变为由用户自己定义,产生的程序称为VI(Virtual Instruments,即虚拟仪器)。

LabVIEW带有超过450个内置函数,用于从采集到的数据中挖掘有用的信息,分析测量数据和处理信号。LabVIEW还提供一系列工具,用于数据显示、用户界面设计、Web信息发布、报告生成、数据管理以及软件连接,可快速开发数据采集、测试测量、控制分析等应用系统。

1.2. LabVIEW访问数据库的方法

虚拟仪器技术是测控技术和计算机技术相结合的产物,测试任务与数据库的交互也是以仪器的计算机化为前提的。对数据进行存储、分析是测量与测试任务的一个关键环节,其中涉及到实时测量数据和历史存储存储数据的读写操作。LabVIEW中常用的系统数据管理方式有两种:利用文件系统管理数据和利用数据库系统管理数据。前者可以满足系统实时性的要求,但文件系统中写入的数据类型一般需根据工程需要来定义,大量的编程工作都耗费在数据的组织、拆分上,使整个编程的工作量大为增加,而且文件数量多也容易引起管理的混乱。现有的测量任务一般都采用后者存储数据以方便管理和使用。

数据库强大的数据存储、查询、调用等功能给工业自动化和测试与测量系统以强大的技术支持,用户可以创建一个使用数据库来管理复杂测试任务、存储测试数据并且能够总结测试结果的自动测试系统。

LabVIEW软件常用的访问数据库的方法有以下几种:

1) 利用NI公司的附件工具包中的数据库接口工具包LabVIEW SQL Toolkit进行数据库访问。该工具包集成了一系列的高级功能模块,这些模块封装了大多数的数据库操作和一些高级的数据库访问功能。

2) 利用LabVIEWDE ActiveX功能,调用Microsoft ADO对象,利用SQL语言实现数据库访问,ActiveX是微软倡导的网络化多媒体技术,在OLE/ COM/Internet开发中得到了广泛的使用。

3) 通过第三方开发的免费工具包LabSQL访问,LabSQL利用Microsoft ADO及SQL语言来完成数据库访问,将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs,本文利用LabVIEW用户开发的LabSQL工具包来实现数据库的访问。

2. 基于ADO和SQL的LabSQL

LabSQL是LabVIEW用户开发的免费、多数据库、跨平台的数据库访问工具包。LabSQL利用Microsoft ADO和SQL语言来完成数据库访问,将复杂的底层ADO及SQL操作封装成一系列的LabSQL VI,其本质就是一系列封装了ADO属性和方法的VI集。LabSQL支持Windows操作系统中任何基于ODBC的数据库,包括Access、SQL Server、Oracle、Sybase等。

2.1. ADO编程模型

ADO(ActiveX Data Object)是Microsoft为一致数据访问技术设计的应用层接口,它通过编辑模型实现对数据库的操作,其目标是访问、编辑和更新数据源,编程模型体现了为完成该目标所必需的系列动作的顺序[1]

应用ADO进行数据访问的一般过程是:连接数据源–指定命令–执行命令。用Connection对象建立与数据源的连接,然后用一个Command对象给出对数据库的操作命令,比如查询或者更新数据等,而Recordset用于对结果数据进行维护或浏览等操作。同传统的数据对象层次不同,ADO可以独立创建,用户可以只创建一个Connection对象,但可以有多个独立的Recordset对象来使用它,这些特点简化了程序编制,增加了程序的可移植性[2]

2.2. SQL简介

SQL(Structured Query Language)称为结构化查询语言,其主要功能是各种数据库建立联系并进行沟通,SQL结果简洁,功能丰富,简单易学,可以用来执行各种各样的数据库操作。目前,绝大多数关系数据库管理系统都采用了SQL标准。SQL包含四个部分:1) 数据查询语言SELECT;2) 数据操纵语言INSERT、UPDATE、DELETE;3) 数据定义语言CREATE、ALTER、DROP;4) 数据控制语言GRANT,REVOKE。

同时SQL具有设计巧妙,完成核心功能只需9个动词,语言简洁,综合统一的特点[3];SQL面向集合的操作方式使查找结果可以是元组的集合,而且一次插入、删除、更新的对象也可以是元组的集合(一次一个集合)。SQL既是自含式语言,又是嵌入式语言。SQL在两种方式下的语法结构基本上是一致的,为用户提供了极大的灵活性与方便性。

2.3. LabSQL的优点

LabSQL的优点是易于理解,操作简单,不熟悉SQL语言的用户也可以很容易地使用。只需要简单的编程,就能在LabVIEW中实现数据库访问,执行各种SQL查询以及对记录进行各种操作。利用LabSQL可以访问到任何类型的数据库,对记录进行各种操作。另外其最大优点是源代码开放,并且是完全免费的。

2.4. LabSQL VIs分类

在LabVIEW安装目录的user.lib文件夹中安装LabSQL后,运行LabVIEW,其功能模板就会自动加载LabSQL。

LabSQL VIs按功能可分为4类:

1) Command VIs,用于完成基本的ADO操作,例如对数据库中的某一个参数进行读或写;

2) Connection VIs,用于管理LabVIEW与数据库之间的连接;

3) Recordset VIs,用于对数据库中的记录进行各种操作,例如:创建或删除一条记录;

4) Top Level VIs,属于顶层的LabSQL应用,是对前三类LabSQL VIs某些功能的封装。

3. LabSQL访问数据库

下面以某型人才数据库mydb.mdb为对象,以查询数据记录的典型操作为例来介绍利用LabSQL实现数据库访问的方法。数据库中包含该单位人员的基本信息、论文统计、社会关系、家庭住址等表。其中基本信息表如表1所示。

3.1. LabSQL的配置

LabSQL与数据库之间是通过ODBC连接,用户需要在ODBC中指定数据源名称和驱动程序。因此在使用LabSQL之前,首先需要在Windows操作系统中的ODBC数据源中创建一个DSN(data source name,数据源名)。LabSQL与数据库之间的连接就是建立在DSN基础之上的。其连接流程如图1所示。

3.2. 利用LabSQL查询记录

利用LabSQL在数据库操作中可实现应用程序与数据库之间的数据交互传递。下面以查询数据库中职称为“副教授”为例,介绍一下如何利用LabSQL实现记录的查询[4],框图程序如图2所示。

首先利用ADO Connection Create.vi创建一个Connection对象,然后利用ADO Connection Open.vi建立与数据库的连接。通过Command Text指出SQL

Table 1. Basic information table

表1. 基本信息表

Figure 1. Diagram of LabSQL connected with database

图1. LabSQL与数据库连接框图

Figure 2. Diagram program of querying record

图2. 查询记录的框图程序

Figure 3. Data recording after querying

图3. 查询后的数据记录

查询命令“SELECT * FROM 基本信息Where基本信息。职称 = ‘副教授’;”。调用ADO SQL Execute.vi在mydb.mdb数据库中基本信息表格中查出相应的记录。最后通过ADO Connection Close.vi关闭与数据库之间的连接。

查询的结果如图3所示。

其中修改记录、添加记录、删除记录等操作与查询数据库的实现方法类似,如果掌握了这四个基本的操作方法和步骤,并且将其综合利用,就可以实现复杂的数据库操作。

4. 结束语

LabSQL通过一致的数据访问技术对通用数据库进行访问,实现简单、使用灵活,是一种很好的数据库访问接口。同传统的数据库访问技术相比,它不仅大大简化了编程,而且使数据库的选取变得非常灵活。实例表明,使用LabSQL工具包,LabVIEW可以方便的访问通用数据库,并可以实现对数据库的实时操作。开发人员可以根据具体应用的不同要求实现更复杂的功能。

参考文献 (References)

[1]       李建文, 刘笃喜, 朱名诠. 基于ADO技术的LabVIEW访问数据库的方法[J]. 自动化仪表, 2003, 24(9): 15-17.

[2]       徐洪安, 费仁元, 王民. 用ADO构建LabVIEW中的数据库访问接口[J]. 北京工业大学学报, 2003, 29(2): 138-140.

[3]       周绪. SQL Server 2000中文版入门与提高[M]. 北京: 清华大学出版社, 2001: 80-109.

[4]       杨乐平, 李海涛, 赵勇等. LabVIEW高级程序设计[M]. 北京: 清华大学出版社, 2003: 470-485.

期刊菜单