如何使用 labview 存取本机 access 资料库 access.pdf ·...

10
NIDays 专题 LabVIEW 技术专题 如何使用 LabVIEW 存取本机 Access 资料库 一、何谓资料库 以最简单的方式来说,资料(Data)指的是未经处理的原始资料,例如:个人 姓名、贂品资料,户籍资料、学生成绩...等等。基本上,所谓的「资料库系统」 就是餵了帮助人门处理大量的资料。举例来说,STDB 网站就是一个资料库,裡 面有许多网友的个人资料、发表文章、收藏文章...等等。这些资料若以人工来 处理相当费时,所以电脑化的资料库管理也就应运而生。 「资料库(DataBase)」,则是一种特殊设计的软体,它可以将资料以数位化 的方式保存在电脑中。另一个常见的名词:资料库管理系统(DataBase Management System,DBMS),则指的是一组软体的集合,它们可以提供我门操作 在资料库的资料,例如:储存、异动、查询与备份等功能。 在资料库的实做上,有一些不同的设计方法,像是早期的阶梯式 (Hierarchical)、网路式(Network)等架构、目前主流的关联式(Relational)架 构,以及近年来兴起的物件导向式(Object-Oriented)等不同架构被使用。随著 实做的方法不同,资料库又被称為「阶层式衣料库」、「网路式资料库」与「关 联式资料库」等,目前市场上绝大多数的资料库,都是属於「关联式资料库」。 二、关联式资料模型 所谓的资料模型,指的是在使用者与电脑系统间一致的抽象模式,关联式资 料库就是其中的一种,同时也是目前最广為使用的模型。在这裡所谓的模型,就 是资料的抽象表示方式。在关联式资料模型中,一个资料库是由一群资料表 (Table)所集合而成;而资料表(Table)又是由一些记录(Record)所组成;每一笔 纪录则是由一些栏位(Field)所组成。不过在关联式资料模型中,同一个资料表 中的纪录,其组成的栏位都必须相等。 常常使用 LabVIEW 的人或是常常写程式的人,对於 Array 应该都不陌生吧。 我个人认為,许多栏位(Field)集合,就是一维 Array;纪录(Record)就是二维 Array;而资料表(Table)就是三维 Array。 测试测量子网

Upload: donhu

Post on 31-Aug-2018

270 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

如何使用 LabVIEW 存取本机 Access 资料库

一、何谓资料库

以最简单的方式来说,资料(Data)指的是未经处理的原始资料,例如:个人

姓名、贂品资料,户籍资料、学生成绩...等等。基本上,所谓的「资料库系统」

就是餵了帮助人门处理大量的资料。举例来说,STDB 网站就是一个资料库,裡

面有许多网友的个人资料、发表文章、收藏文章...等等。这些资料若以人工来

处理相当费时,所以电脑化的资料库管理也就应运而生。

「资料库(DataBase)」,则是一种特殊设计的软体,它可以将资料以数位化

的方式保存在电脑中。另一个常见的名词:资料库管理系统(DataBase

Management System,DBMS),则指的是一组软体的集合,它们可以提供我门操作

在资料库的资料,例如:储存、异动、查询与备份等功能。

在资料库的实做上,有一些不同的设计方法,像是早期的阶梯式

(Hierarchical)、网路式(Network)等架构、目前主流的关联式(Relational)架

构,以及近年来兴起的物件导向式(Object-Oriented)等不同架构被使用。随著

实做的方法不同,资料库又被称為「阶层式衣料库」、「网路式资料库」与「关

联式资料库」等,目前市场上绝大多数的资料库,都是属於「关联式资料库」。

二、关联式资料模型

所谓的资料模型,指的是在使用者与电脑系统间一致的抽象模式,关联式资

料库就是其中的一种,同时也是目前最广為使用的模型。在这裡所谓的模型,就

是资料的抽象表示方式。在关联式资料模型中,一个资料库是由一群资料表

(Table)所集合而成;而资料表(Table)又是由一些记录(Record)所组成;每一笔

纪录则是由一些栏位(Field)所组成。不过在关联式资料模型中,同一个资料表

中的纪录,其组成的栏位都必须相等。

常常使用 LabVIEW 的人或是常常写程式的人,对於 Array 应该都不陌生吧。

我个人认為,许多栏位(Field)集合,就是一维 Array;纪录(Record)就是二维

Array;而资料表(Table)就是三维 Array。

测试测量子网

Page 2: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

三、关联式资料库管理系统

所谓的「关联式资料库管理系统(Relational DataBase Management System,

RDBMS)」,指的是资料库设计上採用的是关联式资料模型。目前主流的资料库管

理系统,如 Microsoft SQL Server、Microsoft Access、Oracle、Informix 等

皆属於关联式资料库管理系统。一般来说,资料库管理系统的功能应包含:

资料定义(Data Define):您可以定义资料表中要有什麼栏位,以什麼样的资料

型别存放,或者是删除资料表。

资料处理(Data Manipulation):您可以对资料表中的资料依照所指定的条件,

做新增、修改、删除的工作。

资料查询(Data Query):您可以对资料库中的资料进行过滤,列出符合条件的资

料纪录。

资料安全的管理(Data Security):资料库通常不只一个人在使用,所以必须要

管制使用者所能够修改资料的权限。

上述的功能中,以新增、修改、删除资料定义、纪录与资料安全管理,為最

基本的资料库操作。但其中的「资料查询」却是可以将资料过滤,產生有用的资

讯。这些新增、修改、删除与查询的操作,都可以透过 SQL 指令来完成。所谓

SQL 指令,指的是依照标準的 SQL 语法,所下达的资料库操作命令。有关 SQL 语

法,本期电子报暂时不详细说明。

四、為什麼使用 LabVIEW 会需要用到资料库

对於一般学生来说,LabVIEW 使用来做仪器自动控制的工具,常常使用

LabVIEW 来做一些实验数据的读取,通常,读取到的资料量都想当少。但是如果

您在工厂中,数以百计的仪器都需要使用 LabVIEW 做仪器自动控制,每一台仪器

又会產生一些资料档或是记录档,此时,如过将所以资讯分存於单独的电脑中,

那麼会造成资料分散、不集中的缺点,我门需要将资讯统筹集中在一起,所以需

要将资料存放於资料库中。

此外,资料库可以处理的资料量远比一般纯文字档能处理的资料量大。一个

Microsoft Access 资料库可以储存 2GB 的资料量,而 Microsoft SQL Server 理

测试测量子网

Page 3: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

论上能存放的资料量是无权大。而且资料库具有优异的查询效能,可以协助我们

将庞大的资料过滤,得到我们真正想要的资料。

以下,我们就要用一个简单的例子,学习如何使用免费的 SQL 元件存取本机

Access 资料库。

五、运用 LabSQL 免费元件来做到与本机 Access 资料库连结,分解步骤:

1. 首先,下載LabSQL免費元件,然後解壓縮

下載地 1:http://www.jeffreytravis.com/lost/labsql.html

2. 解壓縮後,將資料夾「LabSQL ADO functions」整個複製到「C:\Program

Files\National Instruments\LabVIEW 7.0\user.lib\」資料夾內。

3. 然後開啟 LabVIEW,此時會發現在「User Libraries」裡面已經有 LabSQL

的元件了

4. 我們等一下要開啟 Example 裡面的範例,在 Example 資料夾內,有下列四

個檔案。

测试测量子网

Page 4: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

5. 現在,我們先開啟第一個範例:「Example - Fetch a Table.vi」

6. 在程式面板上,請注意看唷,是不是有一個「DSN=myDB;」的字樣呢。其

實我們就是希望程式去對 Example 資料夾裡面的「Sample DataBase.mdb」

去做查詢、加入資料等動作,但是,電腦要如何才知道 myDB 指的就是

Sample DataBase.mdb 呢?這就需要我們去做一些設定。

7. 好,大家應該都是使用微軟的作業系統吧!!請按「 」。站長我看

到這樣的畫面:

测试测量子网

Page 5: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

8. 我想要找一個叫做「系統管理工具」的選項,但是目前並沒有看到,沒關

係,用滑鼠按右鍵,選「內容」。

测试测量子网

Page 6: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

9. 選擇:「自訂」

10.然後,在「進階」裡面,將「系統管理工具」的顯示位置稍作修改,最後

按「確定」。

测试测量子网

Page 7: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

11.在「系統管理工具」裡面,選擇「資料來源 (ODBC)」

测试测量子网

Page 8: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

12.在「系統資料夾名稱」處,選取「新增」

13.選擇「Microsoft Access Driver(*.mdb)」,然後按「完成」

14.資料來源名稱假設輸入:「myDB」,在「資料庫」處,按「選取」,然後

選擇你的資料庫的路徑,選好後,按下確定

测试测量子网

Page 9: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

15.然後就可以看到我們成功新增的設定

16.最後回到範例程式,按下執行,就可以看到我們真的成功地從資料庫檢索

出一些資料了。

测试测量子网

Page 10: 如何使用 LabVIEW 存取本机 Access 资料库 Access.pdf · 基本上,所谓的「资料库系统 ... 则是一种特殊设计的软体,它可以将资料以数位 ... 库的实做上,有一些不同的设计

NIDays专题 LabVIEW技术专题

17.更多的範例,請您自行先看看其他的範例,然後歡迎在討論版上提出來,

大家一起討論。

测试测量子网