郝云虎
(中國人民解放軍第四三二八工廠,山西 長治 046011)
基于LabVIEW的局域網遠程數據庫訪問技術
郝云虎
(中國人民解放軍第四三二八工廠,山西 長治 046011)
介紹了用LabVIEW平臺開發的相關軟件數據庫遠程訪問技術,通過LabSQL工具利用SQL數據查詢語言編程對局域網內服務器上的數據庫進行輸入與輸出操作,LabSQL數據庫工具可以有效地完成與數據庫的互聯及相關數據的更新,編程高效、開發速度快、周期短,可實現局域網內各節點數據的上傳與下載等工作。
局域網;遠程數據庫;LabVIEW;LabSQL
現代生產與生活中會產生各種各樣的數據信息,我們需要有效的操作平臺,利用相關數據庫存儲與訪問技術,再加以分析就可以洞悉數據間的聯系,有效幫助人們對數據信息進行管理與應用,這一流程具有總結數據特點、數據趨勢分析功能等優勢。
LabVIEW是一種基于C語言內核的圖形軟件開發環境,俗稱G編程語言,擁有編程環境的標準功能,比如選擇結構、循環結構和事件處理以及內置編譯器等編程要素,同時,它本身也具有與本地及遠程數據庫進行通信與數據傳輸的功能。用LabVIEW開發相關軟件在局域網中實現收集數據、組織數據、分析數據和提供數據等功能時,就會涉及到遠程數據庫訪問技術的應用。
數據庫訪問方式有以下6種:①使用官方SQL Toolkit工具包,此類工具包能夠連接大多數數據庫,可對常用的數據庫進行操作。②利用C++、VC++等語言編寫鏈接庫,再通過LabVIEW接口VI訪問數據庫。③通過中間文件的橋梁作用,將數據保存在相關過程文件中,然后再用專門的數據庫導入工具導入到目標數據中。④通過LabVIEW平臺的ActiveX接口,調用MicrosoftADO工具,SQL數據語言編程訪問數據庫。此工具還具有訪問遠程數據庫的功能,可以實現客戶端與服務器之間的數據操作。⑤使用Web Service技術,這種方式不直接通過LabVIEW程序訪問遠程數據庫,而是在Web Service中訪問數據庫,然后LabVIEW通過Internet與Web Service進行交互訪問數據庫。⑥通過LabVIEW平臺開發的第三方數據庫工具包LabSQL實現客戶端與數據庫的互聯互通。
綜上所述,①中的工具包價格昂貴;②采用的方法工作周期長,且開發效率低下;③需要數據庫單獨操作,不可取;④中如開發者對底層ADO控件與SQL語言的理解不夠深,掌握的編程方法不夠多,難以實現開發;⑤中所提供的方法的實時性難以達到要求,用JAVA再去開發增加了工作量;⑥中闡述的工具包對所有用戶開放,調用方法容易實現,邏輯性較強,開發效率較高,實時性較好。
LabSQL是LabVIEW平臺開發的數據庫工具包,其源代碼開放、使用免費、可多種數據庫間使用,還具有跨平臺的使用優勢。所有ODBC數據庫都可以使用該工具包,常用的Access、SQL Server、Oracle等平臺都可使用。它是將復雜的ADO底層操作與SQL操作封裝成一系列調用子VI,各種操作子VI打包而成。基本上可以訪問所有常用的數據庫,經過邏輯編程對數據庫進行查詢、更新等多種操作,可實現對數據庫的訪問。
LabSQL功能分4類:①Command。可完成一系列基本ADO操作,比如對參數的讀寫操作;②Connection。主要實現LabVIEW與數據庫之間的連接;③Recordset。對數據庫中的數據進行各種操作,比如增加、刪除、更改記錄等;④Top Level,這是LabSQL的高級應用,是對前三種功能的封裝使用,比如直接執行SQL命令(VI SQL Execute)。
LabVIEW利用LabSQL訪問和操作數據庫的具體步驟包括以下4步(如圖1所示):①連接數據庫,用ADO Connection Create建立Connection對象,用ADO Connection Open建立數據庫連接,具體由Connection String表述的字符串指定。②SQL語句的執行使用,用ADO recordset create建立recordset對象,用ADO recordset open打開操作對象,再用SQL命令完成對數據庫表中記錄數據的獲取。③數據庫的操作。具體的操作有查詢、添加、刪除、修改等,都是通過SQL語言編程實現的。編輯好數據操作命令程序后,將連接字符串與子VI SQL Execute操作字符串連接端相連,如圖2所示。④斷開連接,通過ADO recordset Close與ADO connection close關閉連接。
2.2.1 遠程數據庫的創建
局域網中的節點操作系統安裝Windows普通用戶版本,服務器安裝Windows 2000 Server,兩種環境均可運用數據庫SQL Server 2008制作專用的數據庫,并設置用戶名與密碼。
2.2.2 LabSQL與數據庫的連接
數據庫的連接通過LabSQL工具包子VI ADO Connection Create與ADO Connection Open的聯合使用來實現,Connection String字符串來表述其中包含數據庫名稱。局域網內服務器遠程數據庫連接程序框圖如圖3所示。

圖1 LabSQL調用操作

圖2 數據查詢語言字段連接

圖3 遠程數據庫連接字符串
SQL代碼是專用的數據庫操作和程序編輯語言,實現了數據的存儲和讀取,能夠查詢、更新、管理各種數據庫系統,具有極高的靈活性與強大的功能。
SQL語句包含6個部分:①數據查詢語言。用以從數據庫表中獲取數據,確定數據的形式。其中,SELECT是使用最多的動詞,其他還包括WHERE、ORDER BY、GROUP BY等語句。②數據操作語言。包括動詞INSERT、UPDATE、DELETE等動作性語言,所代表的功能是添加、修改和刪除數據庫表中的記錄數據。③事物處理語言。對數據庫表中的所有行及時更新。④數據控制語言。確定單個用戶或用戶組對數據對象的訪問。⑤數據定義語言。在數據庫中創建新表或刪除表,并為表加入索引等。⑥指針控制語言。它的語句主要用于對一個或多個表單獨行的操作。
利用LabVIEW開發數據庫管理系統對局域網內服務器上指定的數據庫進行打開、數據庫表的查詢、添加和刪除等動作,然后安全關閉數據庫。LabSQL工具可以幫助用戶快速實現本地遠程數據庫與LabVIEW客戶端的連接。針對生產實施數據的存儲和分析管理,都能通過LabVIEW平臺及LabSQL工具聯合開發的用于客戶端的相關數據庫管理軟件來實現互聯互通及上傳下載操作,采用這種方法既提高了編程效率,又加快了開發進度,還為工作提供了便利,同時,為遠程電子測試系統的開發提供了技術基礎。
[1]熊靜,張良,任鵬.基于labVIEW SQLToolkit的數據庫訪問技術研究[J].科技視界,2015(25).
[2]唐亞鵬.基于labVIEW的網絡虛擬實驗教學平臺的研究[D].西安:西安科技大學,2011.
[3]張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008.
[4]陳碩章,劉海斌,王春暉,等.基于labVIEW和云數據庫存儲的遠程測試系統設計[J].國外電子測量技術,2016(06).
TP311
A
10.15913/j.cnki.kjycx.2018.02.083
2095-6835(2018)02-0083-02
郝云虎(1981—),男,山西長治人,工程師,2009年畢業于中北大學,碩士研究生,信號與信息處理專業,主要從事測控軟件技術、數據管理軟件開發等工作。
張思楠〕