加载中…
个人资料
louie
louie
  • 博客等级:
  • 博客积分:0
  • 博客访问:960
  • 关注人气:25
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

应用LabSQL 实现LabVIEW 中数据库的访问 [编程知识点4]

(2007-07-18 22:36:52)
标签:

it/科技

摘 要:针对LabVIEW 在与专业数据库的连接、数据操作等工作不易实现的不足,根据LabVIEW 测试系统数据处理方面的实际需要,提出了一种应用免费工具包LabSQL 实现LabVIEW 对专业数据库SQL Server 访问的方法。通过详细论述建立数据库模块、关闭数据库模块和操作数据库模块的实现过程,给出了应用实例。将该方法应用于某实时监控系统,对故障诊断数据库进行访问管理,取得了较好的效果。
关键词:LabVIEW;LabSQL;SQL 数据库;ADO
 

1.引言
    LabVIEW 采用图形化的编程语言、直观的前面板和流程图相结合的方式来构建虚拟仪器。相对于传统编程方式而言,LabVIEW 简单易学,节省了开发周期。它提供了丰富的图形界面组件和库函数,为用户设计各种专业软件提供方便。此外,LabVIEW 还面向应用,支持模块化和层次化结构,易于在不同平台上移植。该文基于LabVIEW 的上述优势,选择其为软件开发平台,设计某计算机实时监控系统软件。
    现代的测试测量系统大多需要对被测目标进行全方位检测,多传感器网络协调应用,从而有利于获取对目标系统的全面认识,这同时也会使产生的数据量急剧增长。面对大量的数据信息无论是手工数据管理还是文件系统管理方式都无法正确反映各类数据之间的密切联系,都不能有效的管理和组织数据。因此以数据库为中心,以数据管理为重点,构建的基于数据库管理数据的虚拟仪器系统是现代的测试测量系统的发展趋势。其结构框图如图 1 所示。但由于LabVIEW 本身并不具备数据库访问功能,因此以LabVIEW 编制的虚拟仪器系统需要其它辅助的方法来进行数据库访问。

 应用LabSQL <wbr>实现LabVIEW <wbr>中数据库的访问 <wbr>[编程知识点4]

 

2. LabVIEW中与数据库接口的方法 

    LabVIEW现有的版本并没有提供与通用数据库直接连接的接口,访问数据库可以采取以下几种方法解决:
(1)、利用NI 公司的附加工具包LabVIEW SQL Toolkit 进行数据库访问。但是这种工具包比较昂贵,对于很多LabVIEW用户来讲,这个价格是不可能承受的;
(2)、利用其它语言如Visual C++编写DLL程序访问数据库,再利用LabVIEW 所带的DLL接口访问该程序,这样可以实现间接访问数据库。但这样工作量太大;
(3)、利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,利用SQL 语言实现数据访问。利用这种方式进行数据库访问需要用户对Microsoft ADO 控件以及SQL 语言有较深的了解,并且需要从底层进行复杂的编程才能实现。这对于大多数用户来讲
也是不现实的。
(4)、利用由LabVIEW用户自己设计开发的免费LabVIEW 数据库访问工具LabSQL。
LabSQL利用Microsoft ADO以及SQL语言来完成对数据库的访问,将复杂的底层ADO 及SQL 操作封装成一系列的LabSQL VIs,并支持Windows 操作系统中任何基于OBDC 的数据库, 包括Access、SQL Server、Oracle、Pervasive、Sybase等,简单易用经济。

 

3. LabVIEW中对LabSQL的应用

3.1 数据库访问的工具包LabSQL简介
    LabSQL是一个免费的、多数据库的、跨平台的LabVIEW数据库访问工具包,支持
Windows 操作系统中的任何基于ODBC 的数据库, 通过Microsoft ADO控件和LabSQL 语言实现数据库的访问,将复杂的底层ADO以及LabSQL语言操作封装成一系列的LabSQL VIs模块,便于软件模块化的设计。通过LabSQL几乎可以访问任何类型的数据库,执行各种查询,对记录进行各种操作;易于理解,操作简单,不熟悉LabSQL语言的用户很容易使用,简单的编程就可以在LabVIEW中实现数据库的访问。

3.2 在LabVIEW中加入LabSQL
    LabSQL加入到LabVIEW 中的方法非常简单:在LabVIEW 安装目录中的user.lib文件夹中新建一个名为LabSQL的文件夹,并将下载得到LabSQL.zip 压缩文件中所有文件解压到这个文件夹中。再次运行LabVIEW后,功能模块就会自动加载LabSQL。

3.3 LabSQL在操作系统中的配置
    在使用LabSQL 之前,必须在控制面板中的ODBC 数据源中创建一个DSN(数据源名),在LabVIEW 中调用设计好的数据库就是通过这个DSN 来实现的。连接流程如图2 所示:

 

应用LabSQL <wbr>实现LabVIEW <wbr>中数据库的访问 <wbr>[编程知识点4]

3.4 在LabVIEW中LabSQL使用的总体框图
根据关系型数据库的设计原理, 在LabVIEW 中引用数据库的总体框图如图 3 所示。

应用LabSQL <wbr>实现LabVIEW <wbr>中数据库的访问 <wbr>[编程知识点4]

4. LabSQL应用实例
    本应用实例是基于LabVIEW 设计的长距离原油输送管道泄漏监测系统, 该监测系统需要对测试结果数据进行计算、判断, 并进行数据记录存储和打印输出。其数据库采用的是SQL Server 数据库,它的使用和维护比较简单,且能满足本系统的需要。图 4、图5 为在LabVIEW 中的查询报警列表设计框图前面板程序、后面板。

应用LabSQL <wbr>实现LabVIEW <wbr>中数据库的访问 <wbr>[编程知识点4]

图4 查询报警列表的前面板

应用LabSQL <wbr>实现LabVIEW <wbr>中数据库的访问 <wbr>[编程知识点4]

 

 图5 查询报警列表的后面板

 

具体步骤如下:
第一步:首先通过ADO Create.vi创建一个Connection对象,然后利用ADO Connection Open.vi建立与数据库的连接,数据库由字符串Connection String“DSN = slof”。(slof是一个在Windows ODBC 数据源中创建的一个DSN ,并与想要连接的数据库相连接.
第二步:利用LabSQL语句对数据库进行查询操作。用ADO Connection Execute.vi完成该项功能。在这里关键是LabSQL查询语句的编写,将相关的LabSQL查询命令写在属性节点Command Text中。
第三步:查询结果的显示。在前面板窗口上添加相应的表格显示控件,在Top Level VIs模块中选用SQL Fetch Data ( GetString).vi 获得查询结果,并将查询结果送至前面板窗口中表格显示控件中显示。
第四步:利用ADO Connection Close.vi 关闭与数据库之间的连接。

 

5. 结束语

    通过LabSQL 实现LabVIEW 对数据库SQL Server 的访问,使得由LabVIEW 组
一代软件测试系统在数据处理方面具有以下优点:
z 。结合LabVIEW 自身编程简单,界面直观,使得编程工作更加容易,软件设计速度提高2~3 倍。
z 。成本低,且容易实现数据库所有功能,如查询、插入等。
z 。应用范围广,只需要一台计算机就可以组建自己的测试系统和数据库之间的传输方式。
z 。解决了以往LabVIEW 与专业数据库互访成本高和编程复杂不易实现,具有一定的实用性。
    其不足之处在于以下几个方面:
z 。欠缺灵活性,只能处理字符串数据类型,必须在对数据库进行存储之前对数据转换类型。
z 。LabSQL没有开发远程数据访问功能,在需要访问远程数据的时候就得应用Microsoft ADO控件。

 

后续:

ADO --微软公司ADO (ActiveX Data Objects,ActiveX 数据对象)组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。

 

SQL--结构化查询语言( Structured Query Language). 一个用来查询、更新和管理关联式资料库的语言。

 

COM--组件对象模型(Component Object Model )技术是微软许多软件的基础和未来发展的方向,它提供了跨开发工具、操作系统和网络的开发方式,分布式组件对象模型(DCOM,(Distributed Component Object Model))是对COM针对分布式环境的扩展.

 

ODBC 和 OLE--

用于数据库连接的开放式数据库连接 (ODBC)

开放式数据库连接 (ODBC,Open Database Connectivity) 技术为访问不同种类的 SQL 数据库提供了通用接口。ODBC 是基于结构查询语言 (SQL) 的,以此作为访问数据的标准。此接口提供了最大的互操作性:一个应用程序可以通过一组公用代码访问不同的 SQL 数据库管理系统 (DBMS)。这使得开发人员能够在不以特定的 DBMS 为目标的情况下构建和分发一个客户端/服务器应用程序。然后,会添加数据库驱动程序以将应用程序链接到用户选择的 DBMS。

以下特性说明了 ODBC 的灵活性:

"

应用程序没有绑定到专有供应商 API。

"

SQL 语句可以明确地包括在源代码中也可以在运行时即时构建。

"

应用程序可以忽略基础数据通信协议。

"

数据可以用方便于应用程序的格式进行发送和接收。

"

ODBC 是随新兴的国际 ISO Call-Level Interface 标准一起设计的。

"

目前提供了可用于 55 种最流行的数据库的 ODBC 数据库驱动程序。

OLE 用于设计可重用组件软件

OLE(Object Linking and Embedding,对象的链接与嵌入)是一种面向对象的技术,利用这种技术可以开发可重用软件组件。OLE 组件对象模型范例代表了应用程序编写方式的根本转变。OLE 体系结构允许应用程序使用提供特定功能的共享对象,取代了每个组件为实现所需功能所采用的传统程序性编程。对于 OLE 应用程序,像文本文档、图表、电子表格、邮件、图形及声音剪辑等内容都作为对象出现。

目前,Windows 和 Macintosh 平台都支持 OLE 对象,OLE 对象是未来 Windows 操作系统的基础。

ODBC 与 OLE 协同工作

作为提交 OLE 的一部分工作,Microsoft 定义了一组数据对象,它们共同称作“OLE DB”,这些对象使得面向 OLE 的应用程序可以将数据集作为对象进行共享和操作。此技术包括一个 ODBC 提供程序,它通过任何 ODBC 驱动程序显示 OLE DB 对象。利用这种做法,任何 OLE DB 应用程序都可以通过 ODBC 驱动程序访问显示的 SQL 数据,并且会使得 ODBC 驱动程序得以访问一类全新的客户端。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有