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作為優秀的測控軟件開發環境,卻始終沒有對數據庫提供很好的支持??偨Y并實現了到目前為止能夠在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
主站蜘蛛池模板: 国产精品爆乳99久久| 亚洲AV无码久久精品色欲| 久久人人97超碰人人澡爱香蕉| 亚洲精品爱草草视频在线| 亚洲午夜福利精品无码不卡 | 亚洲中文字幕久久精品无码一区| 久久亚洲国产视频| 人妻中文字幕无码久久一区| 亚瑟天堂久久一区二区影院| 欧美亚洲日韩中文| 69国产精品视频免费| www精品久久| 成人国产免费| 国产农村精品一级毛片视频| 免费国产无遮挡又黄又爽| 欧美精品成人一区二区视频一| 欧美a级在线| 久久国产精品嫖妓| 亚洲精品大秀视频| 国产成人一区| 色噜噜在线观看| 久久精品无码中文字幕| aa级毛片毛片免费观看久| 亚洲最大福利网站| 无码中文字幕乱码免费2| 国产欧美日韩免费| 在线免费不卡视频| 干中文字幕| 蜜桃视频一区| 亚洲人成人无码www| 久久久四虎成人永久免费网站| 欧美精品在线免费| 国产成人免费观看在线视频| 国产无码性爱一区二区三区| 国产丝袜无码精品| 国产黑人在线| 中文字幕在线视频免费| 91精品国产一区| 国内熟女少妇一线天| 成人午夜免费视频| 色视频国产| 日韩国产黄色网站| 国产三级视频网站| 色综合成人| 一级毛片在线播放免费| 亚洲香蕉伊综合在人在线| 国产地址二永久伊甸园| 99福利视频导航| 福利姬国产精品一区在线| 伊伊人成亚洲综合人网7777| 最新日本中文字幕| 欧洲av毛片| 日本一区中文字幕最新在线| 国产成人精品一区二区免费看京| 亚洲国产日韩视频观看| 国产乱人乱偷精品视频a人人澡| 欧美不卡视频一区发布| 国产日本欧美在线观看| 91激情视频| 欧美午夜视频在线| 久久精品这里只有国产中文精品| 亚洲毛片一级带毛片基地| 日本中文字幕久久网站| 亚洲成a人片7777| 国产精品偷伦在线观看| 欧美成人午夜在线全部免费| 亚洲欧美日韩中文字幕在线| 中文字幕亚洲精品2页| 国产青榴视频| 天堂亚洲网| 久久久久亚洲精品无码网站| 亚洲精品色AV无码看| 成人国产免费| 久久国产精品波多野结衣| 国产三级精品三级在线观看| 女人一级毛片| 九九热精品免费视频| 成人综合在线观看| 被公侵犯人妻少妇一区二区三区| 久久久久青草线综合超碰| 波多野吉衣一区二区三区av| 欧美一区国产|