999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向LabWindows/CVI的數據庫訪問技術研究

2012-07-25 03:21:10
微處理機 2012年1期
關鍵詞:數據庫環境方法

李 暉

(中國航天科技集團公司第四研究院第四十一研究所,燃燒、流動和熱結構國家級重點實驗室,西安710025)

1 引言

LabWindows/CVI是美國NI公司(National Instruments Corporation)推出的一款功能強大的交互式C語言軟件開發平臺,主要用于儀器控制、自動測試、數據處理等應用軟件開發。LabWindows/CVI的優勢在于完全建立在ANSI C基礎之上,實現了功能強大、使用靈活的C語言平臺與用于數據采集、分析與顯示的測控專業工具的有機結合,其特有的交互式編程方法及豐富的功能面板和函數庫可以很方便地設計出非常友好的測控操作界面[1-2]。尤其是大型、復雜的測試軟件,使用LabWindows/CVI開發可以獲得優良的測試性能[3]。

CVI作為側重于測控軟件開發平臺,不可避免地要和數據庫打交道,然而它自身卻始終沒有通過標準函數庫提供數據庫的操作函數,也沒有在工具包中提供能夠訪問數據庫的驅動器,也就是說CVI本身不具備訪問數據庫的功能。這也是CVI相對Visual C++、VB、Delphi等開發環境的一個弱項。雖然NI公司提供了獨立于CVI 開發平臺以外的專門用于和數據庫打交道的軟件工具包SQL Toolkit,但是價格較為昂貴。

針對CVI較為薄弱的數據庫訪問功能,給出了到目前為止能夠實現在CVI中訪問外部數據庫的方法,詳細闡述了 ADO、SQL Toolkit以及 DatabaseAssistant這三種方法在CVI環境下訪問數據庫的具體途徑,并通過實驗對三種方法的數據庫訪問性能進行了比較。

2 數據庫訪問技術

2.1 Microsoft ADO技術

Microsoft開發了一系列基于Windows平臺的數據庫訪問技術。OLE DB是其早期開發的一套開放標準,它基于COM(Component Object Model,組件對象模型)結構,對所有的數據文件提供了一個統一的接口,包括關系數據庫、非關系數據庫和其他文件系統,是Microsoft針對所有數據庫提供的底層接口。

后來Microsoft又在OLE DB基礎上開發了面向對象的數據庫訪問技術ADO(ActiveX Data Objects,ActiveX數據對象)。ADO是完全建立在OLE DB模型之上的高層數據庫訪問技術,它簡化了OLE DB的操作,定義了ADO對象,使得數據庫應用程序的開發得到簡化[4]。ADO技術最大的特點是可以以Microsoft ActiveX控件的形式出現,使得它可以應用在多種軟件開發環境中,LabWindows/CVI 6.0之后的版本提供了對ActiveX自動化和網絡的支持,使得在CVI環境下應用ADO技術開發數據庫成為可能。

在CVI中利用ADO技術訪問數據庫,首先要生成ActiveX自動化儀器驅動器,具體方法是:在主窗口的菜單欄中選擇“Tools”→“Create ActiveX Controller…”,LabWindows/CVI會自動搜索注冊在操作系統中的所有自動化服務器,搜索完成后彈出列表框會顯示所有 ActiveX自動化服務器,選擇“Microsoft ActiveX Data Objects 2.8 Libra”后,點擊“Next”,按照開發向導提示進行操作完成即可。完成后會在當前項目目錄下生成五個文件:“ADODB.c”、“ADODB.h”、“ADODB.fp”、“ADODB.obj”、“ADODB.sub”,這五個文件就組成了CVI下ADO驅動程序。

以最一般的訪問一次數據庫為例,比如在Microsoft Acess數據庫中插入一條記錄,則利用ADO訪問數據庫程序流程如圖1所示。

2.2 NI SQL Toolkit

NI SQL Toolkit(簡稱Toolkit)是NI公司提供的獨立于CVI開發平臺以外的專門用來和數據庫打交道的軟件工具包,它遵從ODBC規范的數據庫技術,其實也是提供了一族訪問數據庫的API供用戶調用。Toolkit有如下特點:第一,其安裝完成后以CVI中的儀器驅動器的形式出現,提供了.fp、.lib、.dll、.h等文件,每個函數都有完善的函數面板并提供了詳細的函數說明,用戶調用很方便;第二,函數封裝比較好,減少了很多比較晦澀難懂的函數,并給出了數據庫訪問時函數調用層次圖,一目了然;第三,Toolkit不但可以訪問ODBC數據源,也可以訪問任何遵從ADO標準的數據源,不過如果沒有特殊說明,SQL Toolkit默認為ODBC數據源。

圖1 ADO訪問數據庫程序流程圖

在CVI中利用Toolkit訪問數據庫較為簡單,只要將相應的.fp、.lib、.dll、.h等文件拷貝到工程目錄下,再將.fp、.lib、.h文件加載到工程中,就可以調用Toolkit提供的函數了。

以在Microsoft Acess數據庫中插入一條記錄為例,利用Toolkit訪問數據庫的程序流程圖如圖2所示。

2.3 DatabaseAssistant for CVI

DatabaseAssistant(簡稱DAssistant)是一個數據庫訪問工具包,它是丁晨等研究人員開發的免費軟件,其主要就是為LabWindows/CVI開發環境提供數據庫訪問功能,它也可應用于支持C語言環境的其他軟件開發環境。其官方發布網站為www.vihome.com.cn。

該工具包于2008年9月發布最初版本1.0 Beta1,目前的最新版本為2.06正式版,期間經過十幾次版本升級。該工具包的開發和升級充分借鑒了SQL Toolkit,可以說幾乎繼承了SQL Toolkit的所有優點,而且數據庫訪問速度也比SQL Toolkit快,這個在后面的實驗部分會給出說明。如今DAssistant的功能已經非常完善,其本身可以支持多種數據庫。

圖2 Toolkit訪問數據庫程序流程圖

該工具包的使用需要系統安裝ODBC3.0及其以后的ODBC管理器,Windows98后的系統都自帶ODBC3.5,可在“控制面板-管理工具-ODBC數據源管理器”中查看版本。Windows系統提供以下數據庫的 ODBC驅動:Access(.mdb)、dBase(.dbf)、excel(.xls)、Paradox(.db),其他數據庫需要安裝相應的ODBC驅動才能使用。

在CVI中利用DAssistant訪問數據庫的方法和Toolkit基本相同,只要將DatabaseAssistant.fp、DatabaseAssistant.lib、DatabaseAssistant.dll、DatabaseAssistant.h等文件拷貝到工程目錄下,將DatabaseAssistant.fp、DatabaseAssistant.lib、DatabaseAssistant.h文件加載到工程中,就可以調用DAssistant提供的函數了。

還以在Microsoft Acess數據庫中插入一條記錄為例,利用DAssistant訪問數據庫的程序流程圖如圖3所示。

3 實驗結果與分析

3.1 實驗結果

為了能更好地說明如何利用上述提到的三種方法在LabWindows/CVI中實現對外部數據庫的訪問以及它們之間訪問數據庫性能的差異,本節給出一個實例,實現如下功能:能夠分別使用ADO、Toolkit和DAssistant三種方法向一個Microsoft Access2003數據庫文件中的Demo數據表中連續寫入10000條相同的記錄,隨后更新這10000條相同的記錄,最后讀取并顯示更新后的10000條記錄,分別統計三種方法完成這些操作所花費的時間。Demo數據表結構及寫入和更新的記錄如表1所示。

圖3 DAssistant訪問數據庫程序流程

實驗所使用的硬件平臺為DELL T3500臺式機,CPU為Intel Xeon 2.40GHz,內存3GB。操作系統為Windows XP SP3,開發環境為LabWindows/CVI 8.0。

表1 Demo數據表結構及寫入和更新的記錄

程序界面設計及運行結果如圖4所示。

3.2 實驗結果分析

由圖4可以得到 DAssistant、Toolkit、ADO三種方法寫入、更新和讀取10000條記錄所花費的時間如表2所示。需要說明的是,在不同計算機上三種方法訪問數據庫的速度會略有不同,但是三者之間的相對訪問速度不會改變,能夠反映它們訪問數據庫的性能差異。可以看出,不管是寫入、更新還是讀取記錄,DAssistant方法的速度都是最快的,Toolkit次之,而ADO則最慢。至此,三種方法總體特征比較如下表3所示。

表2 三種方法訪問數據庫耗時統計

總的來講,三種方法中DAssistant的數據庫訪問性能最好,不但訪問速度最快,而且具有較為詳盡的軟件接口說明,代碼編寫也比較簡單。

表3 三種方法總體特征比較表

圖4 程序界面及運行結果

4 結束語

LabWindows/CVI作為優秀的測控軟件開發環境,卻始終沒有對數據庫提供很好的支持。總結并實現了到目前為止能夠在CVI環境下訪問外部數據庫的三種方法:Microsoft ADO、NI SQL Toolkit和DatabaseAssistant,詳細闡述了這三種方法在CVI環境下訪問數據庫的具體途徑,通過實驗對三種方法的數據庫訪問性能進行了比較,結果表明在CVI中DatabaseAssistant方法具有最好的數據庫訪問性能。

[1] 王建新,楊世鳳,隋美麗.Lab Windows/CVI測試技術及工程應用[M].北京:化學工業出版社,2006.

[2] 李騰飛,張輝.基于Labwindows/CVI和Matlab的濾波器設計[J].電子技術,2007(3):29-35.

[3] 張鳳均.Lab Windows/CVI開發入門與進階[M].北京:北京航空航天大學出版社,2001.

[4] 黃吉濤,周倫彬.ADO數據庫訪問技術在LabWindows/CVI中的應用[J].中國測控技術,2007(3):102-104.

猜你喜歡
數據庫環境方法
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
孕期遠離容易致畸的環境
環境
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 国产91精品久久| 91麻豆精品国产91久久久久| 波多野结衣一区二区三视频 | 成年人国产视频| 四虎永久免费地址| 久久96热在精品国产高清| 国产在线观看一区精品| 最近最新中文字幕免费的一页| 亚洲视频a| 亚洲欧美另类日本| 亚洲嫩模喷白浆| 亚洲天堂区| 亚洲aⅴ天堂| 久久夜色精品国产嚕嚕亚洲av| 国产又大又粗又猛又爽的视频| 狠狠做深爱婷婷综合一区| 一本久道久久综合多人| 日本午夜三级| 高清无码不卡视频| 欧美日韩免费在线视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久久无码人妻精品无码| 在线观看91精品国产剧情免费| 一本大道视频精品人妻| 亚洲av无码成人专区| 91福利免费视频| 国产欧美综合在线观看第七页 | 国产原创第一页在线观看| 国产亚洲精品va在线| 在线看免费无码av天堂的| 亚洲美女高潮久久久久久久| 日本成人在线不卡视频| 欧美激情视频在线观看一区| 91探花在线观看国产最新| 好吊色国产欧美日韩免费观看| a在线亚洲男人的天堂试看| 亚洲精品免费网站| 色综合中文字幕| 国产一国产一有一级毛片视频| 亚洲三级电影在线播放| 欧美亚洲香蕉| 国产精品第5页| 国产成人久久777777| 五月激情婷婷综合| 91毛片网| 国产午夜人做人免费视频中文 | 久久 午夜福利 张柏芝| 亚洲成人高清无码| 国产亚洲精品在天天在线麻豆 | 毛片网站在线看| 国产精品无码翘臀在线看纯欲| 国产人碰人摸人爱免费视频| 在线看片中文字幕| 美女国内精品自产拍在线播放| 国产成人精品日本亚洲| 国产精品深爱在线| 日韩激情成人| 亚洲日韩AV无码一区二区三区人| 成人国产精品视频频| 欧美区国产区| 亚洲国产欧美自拍| 91亚洲视频下载| 男人天堂伊人网| 这里只有精品在线播放| 欧美日韩专区| 亚洲成人免费在线| 免费一级成人毛片| 成人亚洲视频| 亚洲精品动漫| 亚洲女人在线| 伊在人亚洲香蕉精品播放| 欧美人人干| 欧美三級片黃色三級片黃色1| 久久综合九色综合97网| 欧美日韩激情在线| 免费激情网址| 欧亚日韩Av| 国产成人久久777777| 国产精品亚洲va在线观看| 狠狠色成人综合首页| 免费毛片网站在线观看| 欧美一区二区三区不卡免费|