基于LabWindows/CVI的數據庫編程
摘要:在復雜的大型測試系統的軟件開(kāi)發(fā)中,面對大量數據的存儲、管理和處理。數據庫是測試系統中不可缺少的重要組成部分。開(kāi)放式數據庫互聯(lián)(ODBC)規范提供的一組對數據庫訪(fǎng)問(wèn)的標準API為數據庫的管理和應用程序開(kāi)發(fā)提供了強大的工具?;诖私榻B了在LabWindows/ CVI平臺下,應用ODBC和SQL TOOLKIT工具包與Oracle數據庫交互的過(guò)程和程序實(shí)例。實(shí)踐證明,此方法簡(jiǎn)單、可靠,實(shí)際開(kāi)發(fā)中可用性比較強。
關(guān)鍵詞:LabWindows/CVI;ODBC;SQL Toolkit;數據庫
在測試系統的應用開(kāi)發(fā)中,測試數據通常是以文件的方式進(jìn)行組織管理的。這樣的數據存儲方式有一定的局限性,特別是遠程測試系統,對于大量的數據不能及時(shí)的反饋。要實(shí)現方便靈活的管理和訪(fǎng)問(wèn),數據庫是一種必然的選擇。
LabWindows/CVI是一個(gè)完全的標準C開(kāi)發(fā)環(huán)境,用于開(kāi)發(fā)虛擬儀器應用系統。CVI5.5及以后的版本提供了支持數據庫的sQL TOOLKIT工具包,該工具包提供了豐富的數據庫操作函數,給開(kāi)發(fā)帶來(lái)了方便和快捷。
1 基于PCI的數據采集
對于非NI公司的PCI數據采集卡,一般的驅動(dòng)程序都是以動(dòng)態(tài)鏈接庫的形式提供的。對于CVI而言,可以直接利用驅動(dòng)程序的動(dòng)態(tài)鏈接庫文件實(shí)現對采集卡的控制。本文采用中泰PCI-8333數據采集卡進(jìn)行信號采集、存儲和輸出。PCI-8333數據采集卡具備豐富的采集與控制方法,同時(shí)也提供了動(dòng)態(tài)鏈接庫文件和頭文件。
1.1 縮寫(xiě)采集卡頭文件
雖然廠(chǎng)商提供了頭文件,但是LabWindows/CVI需要用c語(yǔ)言對頭文件進(jìn)行改寫(xiě),參照廠(chǎng)商提供的頭文件,編寫(xiě)部分方法聲明如下:
注意,頭文件中包含的方法一定要與動(dòng)態(tài)鏈接庫中的方法—致。編寫(xiě)后,將該頭文件添加到應用程序中。在程序源文件中聲明頭文件,添加#include“PCI8KP.h”。
1.2 產(chǎn)生dll導入庫文件
將采集卡廠(chǎng)商提供的動(dòng)態(tài)鏈接庫文件加入剄應用程序所在的文件夾中,選擇菜單:Option-Generate DLL Import Library,在彈出的對話(huà)框中選擇OK按鈕,會(huì )彈出動(dòng)態(tài)鏈接庫選擇對話(huà)框,選擇加入到程序中的動(dòng)態(tài)鏈接庫后,會(huì )在該文件夾下產(chǎn)生導入庫。將該導入庫也加入到當前程序的工程中。
1.3應用動(dòng)態(tài)鏈接庫
上面的兩個(gè)步驟完成后,便可在CVI應用程序中使用該動(dòng)態(tài)鏈接庫,調用頭文件中已聲明的方法進(jìn)行數據采集源程序的編寫(xiě),實(shí)現對效據采集卡的控制。
2 ODBC及SQL Toolkit工具包
ODBC(Open Database Connectivity,開(kāi)放數據庫互連)是Microsoft公司開(kāi)發(fā)的一套開(kāi)放數據庫系統應用程序接口規范,它提供了統一的數據庫應用編程接口(API),為應用程序提供了一套高層調用接口規范和基于動(dòng)態(tài)連接庫的運行支持環(huán)境。使用ODBC開(kāi)發(fā)數據庫應用時(shí),應用程序調用的是標準的ODBC函數和SQL語(yǔ)句,數據庫底層操作由各個(gè)數據庫的驅動(dòng)程序完成。因此應用程序有很好的適應性和可移植性。
LabWindows/CVI SQL Toolkit是用于CVI數據庫訪(fǎng)問(wèn)的附加工具包,它集成了一系列的高級功能模塊,這些模塊封裝了大部分的數據庫操作和一些高級數據庫訪(fǎng)問(wèn)功能。LabWindows/CVI SQL Toolkit支持主流的數據庫驅動(dòng),對于數據庫開(kāi)發(fā)商及第三方開(kāi)發(fā)者提供的驅動(dòng),LabWindows/CVI SQL Toolkit也一樣采用標準的ODBC編譯方式,通過(guò)這種擴展方式,可以靈活支持任何符合ODBC開(kāi)發(fā)標準的數據庫系統。
評論