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

LabVIEW與數據庫實現動態鏈接的方法探析

2014-11-22 02:11:30馮志君張建剛
機械工程師 2014年3期
關鍵詞:程序數據庫信息

馮志君,張建剛

(廣西科技大學 機械學院,廣西 柳州 545006)

0 引言

隨著LabVIEW 軟件越來越廣泛地應用于測控領域,在LabVIEW 程序中采用數據庫技術,安全、高效地管理和組織數據的需求日益突出。但是現有LabVIEW 版本并不具備數據庫訪問功能,采用LabVIEW 軟件編制的虛擬測試系統,通常采用手工方法在LabVIEW 與數據庫之間創建連接。此方法不僅耗時費力,且所建數據庫在位置發生改變后,程序往往不能正常運行,即該連接不具備可移植性[1-3]。針對此問題,本文對LabVIEW 與數據庫的連接方法進行了相關研究,并給出了重構UDL(Universal Data Link)中的路徑信息,采用動態編輯DSN(Data Source Names),及使用ActiveX 技術等一系列方法,來實現其與數據庫的動態鏈接,并以Access 數據庫為例,進行了相關說明。

1 LabVIEW 與數據庫的連接

由于LabVIEW 軟件不具備創建數據庫的功能,因此在連接前應先借助第三方數據庫軟件,如:Access、SQL Server 等,創建一個數據庫作為數據源,然后再通過對LabVIEW 軟件的正確設置,即可實現兩者間的交互[1]。通常有以下兩種方法可以實現LabVIEW 與數據庫的連接:

1)通過UDL方式連接數據庫。通過UDL方式使Labview軟件與數據庫連接,其實現方式如下:在Labview 程序界面,首先選擇“工具→Create Data Link...”,在彈出的“數據連接屬性”對話框中選擇“Microsoft Jet 4.0 OLEDB Provider”選項,并單擊“下一步”按鈕,在打開的“連接”選項卡界面,“選擇或輸入數據庫名稱”一欄中選擇數據庫文件,單擊“確定”按鈕,通過彈出的“Save Data Link as...”命名并保存文件,生成連接文件,完成與數據庫的連接功能。如:命名為“test”的數據庫連接信息文件為“test.udl”。

2)通過DSN 方式連接數據庫。首先,在Windows 控制面板下打開“性能與維護→管理工具→數據源(ODBC)”頁面,在彈出的“ODBC 數據源管理工具”對話框中選擇“系統DSN”或“用戶DSN”選項卡(系統DSN 選項卡中的數據源對該操作系統下的所有用戶開放;用戶DSN 選項卡中的數據源只有本用戶才可訪問,且只能用于本機器上),點擊“添加”按鈕,在彈出的對話框中選擇Access 數據庫驅動源“Microsoft Access Driver(*.mdb)”或“Drive to Microsoft Access(*.mdb)”選項,點擊“完成”,在彈出的“ODBC Microsoft Access 安裝”對話框中填入數據庫名稱,如:“test”,并點擊“選擇”按鈕,瀏覽選擇數據庫所在路徑,如:“D: est.mdb”,點擊“確定”完成連接。如需進行創建密碼等高級操作,可在完成前單擊“高級”選項卡,設置各參數。DSN 表明了數據源或數據庫名稱,完成上述設置后,在LabVIEW 中可以通過DSN 調用ODBC API 函數連接到相應的數據庫。

2 動態鏈接的實現

通過上述方法創建的連接,在使用時無需編程,只需人工選擇數據源路徑以及相應的數據庫驅動即可對所連接的數據庫進行簡單操作[3]。但如果數據庫路徑或名稱發生改變,連接就會失效,無法實現Labview 與數據庫的動態鏈接。但在實際生產應用當中,數據庫的位置或名稱有時會由于需要而產生變化,筆者根據使用中的經驗,給出了幾種實現動態鏈接的方法,以供讀者參考。

2.1 重構UDL 中的路徑信息[4]

LabVIEW 采用上述UDL 方式與數據庫連接,所生成的Microsoft 數據鏈接信息保存在“*.udl”文檔中,其內容如下:

[oledb];Everything after this line is an OLEDB initstring;

Provider=Microsoft.Jet.OLEDB.4.0;

DataSource=…*.mdb;PersistSecurityInfo=False

其中“Provider”與“DataSource”的值,分別指明了數據庫驅動程序與數據庫在硬盤中的存放位置。由于數據庫發生變化時,連接文檔中的“DataSource”項的值并未隨之改變為新數據庫的路徑,從而導致LabVIEW 與新數據庫的連接失敗。故可通過LabVIEW 軟件中的“拆分路徑”與“創建路徑”控件對連接信息中的DataSource 值拆分重構,并在“新數據庫名稱”控件中輸入新數據庫全稱,來達到動態連接數據庫的功能。

圖1 給出了利用重構數據庫路徑信息實現數據庫動態鏈接的程序,及封裝后命名為“GET DB PATH”的子VI。在程序開發過程中,考慮到采用LabVIEW 軟件編制的程序在開發環境與應用環境中存在的差異,為了使本程序在兩種環境中均可運行,程序中通過引入了一個“App.kind”屬性節點控制的“條件結構”,實現了對“本應用程序”自動判斷運行環境的功能。

圖1 重構路徑信息實現可移植性的程序及子VI

值得注意的是,采用此種方法程序設計時,必須將實現編制后的程序封裝成一個子VI,并將其與所需連接的數據庫存放在同一文件夾內,才能實現動態鏈接功能。

2.2 利用注冊表動態編輯DSN[5]

通過ODBC 管理器所創建的DSN 數據庫的連接信息都保存在注冊表中,其中“系統DSN”信息保存在主鍵HKEY_LOCAL_MACHINESOFTWAREODBCODBC.INI下;“用戶DSN”信息保存在主鍵HKEY_CURRENT_USERSoftwareODBCODBC.INI 下。LabVIEW 與數據庫的鏈接信息就保存在主鍵下以數據庫名命名的項中。因此,在LabVIEW 中通過動態修改、編輯注冊表中的DSN 有效信息,可實現LabVIEW 程序與數據庫間的動態鏈接。其實現程序如圖2 所示。

圖2 利用注冊表動態編輯DSN 程序

其中“DBQ”的值指明了連接的數據庫路徑;“Driver”的值記錄了數據庫的驅動程序。在動態編輯DSN 信息時,“Driver”項一般使用默認值而不需改動,所需修改的只有“DBQ”項的值,將其賦值為新數據庫的路徑即可。

2.3 利用ActiveX 控件動態創建DSN[6]

在LabVIEW 中使用ActiveX 控件動態創建DSN 的程序流程如圖3 所示。

圖3 LabVIEW 中使用ActiveX 控件的程序流程

其具體實現步驟如下:

1)打開自動化參數號。在LabVIEW 函數面板上的“互鏈接口→Active X”選項下,選擇“打開自動化”函數控件,在控件左上側的“自動化引用句柄”接線端處創建“ODBC Tool._Dsn”類型常量(右鍵單擊“打開自動化”控件,單擊“選擇Active X 類”,瀏覽添加“ODBC Driver &Data Source Name Functions Version 2.0”類型庫,并選擇“Dsn(ODBC Tool.Dsn)”類。

2)設置/獲取屬性和調用方法。將“打開自動化”函數控件右上側的“自動化引用句柄”與“調用節點”函數控件的“引用”端口相連,并點擊“調用節點”控件,創建“ODBC Tool._DSN”類的“Creat DSN”方法節點,通過“Creat DSN”節點,動態創建DSN。其中,“Creat DSN”方法節點參數設置如圖4 所示。

圖4 使用ActiveX 動態創建DSN

2.4 利用ActiveX 控件動態創建ADO[6]

采用UDL 方式連接數據庫是基于Microsoft 提供的ADO 技術進行的,故可通過LabVIEW 中的ActiveX 動態創建ADO 連接數據庫,其操作過程與上述動態創建DSN相似,其不同之處在于:

1)打開自動化參數號時對類型庫的選擇。采用ActiveX 自動化技術動態創建ADO 時,選擇的ActiveX類是“Microsoft ActiveX Data Objects 2.7 Library Version 2.7”類型庫中的“Connection(ADOB.Connection.2.8)”類,在控件左上側的“自動化引用句柄”接線端處創建的為“ADODB._Connection”類型常量。

2)設置/獲取屬性和調用方法。動態創建ADO 是在程序框圖功能模板中選擇的“互鏈接口>>Active X 子模板>>調用屬性節點”控件,并將其“引用”接口與“打開自動化”圖標輸出端“自動化引用句柄”接口相連,選擇其中的“Open”選項,以打開Connection 對象,如圖5。其中“Connection String”是連接到數據源的字符串,包含驅動程序和數據庫路徑兩部分,驅動程序為“Microsoft.Jet.OLEDB.4.0”,數據庫路徑則是通過前面板上的“路徑”選擇控件選擇所要連接的數據庫設置完成;“User ID”和“Pass Word”是連接到數據源的用戶名和密碼,正確設置這些參數后便可實現與數據庫的動態鏈接。

圖5 使用ActiveX 動態創建ADO

3 結論

通過UDL 或DSN 方式均可實現LabVIEW 軟件與數據庫的連接,但數據庫路徑或名稱發生改變時,這種連接就會失效。通過重構UDL 中的文件存放路徑信息,或利用注冊表動態編輯DSN,或使用ActiveX 自動化技術動態創建DSN 或動態創建ADO,切實解決LabVIEW 程序與數據庫的動態鏈接問題,以充分利用數據庫的優勢,方便高效地管理測試數據,提高測試系統的智能化程度。

[1]吉順祥,劉旺鎖,宋曉婷.基于LabVIEW 的數據庫訪問技術[J].航海工程,2007,36(3):125-128.

[2]姚桂艷,常英麗.LabVIEW 與數據庫的鏈接方法[J].現代電子技術,2007,30(16):16-17.

[3]林靜,林振宇,鄭福仁.LabVIEW 虛擬程序設計從入門到精通[M].北京:中國郵電出版社,2010.

[4]雷振山,魏麗,趙晨光,等.LabVIEW 高級編程與虛擬儀器工程應用[M].北京中國鐵道出版社,2009.

[5]聶波波,萎樂華.LabVlEW 中動態配置ODBC 數據源的實現[J].科技資訊,2007,25(3):6-7.

[6]高國華,張永忠.在LabVIEW 中利用ActiveX 技術訪問數據庫[J].國外電子測量技術,2004,2(23):15-16,22.

猜你喜歡
程序數據庫信息
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 玖玖精品视频在线观看| 女人一级毛片| 亚洲成人一区二区三区| 国产精品人成在线播放| 色综合五月| 欧美成人手机在线视频| 午夜福利网址| 国产亚洲精品无码专| 伊人久久大香线蕉综合影视| JIZZ亚洲国产| 欧美日韩另类在线| 久操线在视频在线观看| 亚洲第一成年免费网站| 国产在线一区视频| 国产视频你懂得| 欧美人在线一区二区三区| 久久人午夜亚洲精品无码区| 亚洲v日韩v欧美在线观看| 免费欧美一级| 色天天综合久久久久综合片| 福利小视频在线播放| 99无码熟妇丰满人妻啪啪 | 亚洲综合久久成人AV| 国内老司机精品视频在线播出| 欧美日韩中文字幕二区三区| 亚洲福利视频网址| 亚洲成人黄色在线| 2022国产无码在线| 欧美视频在线播放观看免费福利资源 | 露脸一二三区国语对白| 亚洲一道AV无码午夜福利| 国产性爱网站| 精品久久高清| 亚洲永久精品ww47国产| 九色视频线上播放| 日本成人福利视频| 精品国产中文一级毛片在线看 | 国产精品污视频| 亚洲欧美成人在线视频| 福利在线一区| 男人天堂伊人网| 波多野结衣一区二区三区四区视频| 国产后式a一视频| 自拍中文字幕| 亚洲性视频网站| 国产精品香蕉| 亚洲国产成人自拍| 亚亚洲乱码一二三四区| 亚洲国产高清精品线久久| аⅴ资源中文在线天堂| 亚洲色图欧美激情| 日韩欧美中文亚洲高清在线| 精品1区2区3区| 亚洲综合香蕉| 在线精品视频成人网| 三上悠亚一区二区| 在线看国产精品| 九九免费观看全部免费视频| 无码AV高清毛片中国一级毛片| 欧美性精品| 亚洲不卡影院| 精品综合久久久久久97超人| 国产成人精彩在线视频50| 一本久道久综合久久鬼色| 国产乱码精品一区二区三区中文| 免费看a级毛片| 国产成人综合久久| 国产精品偷伦在线观看| 国模沟沟一区二区三区| 亚洲日韩精品综合在线一区二区| 日韩精品一区二区三区大桥未久| 久久国产亚洲欧美日韩精品| 欧美日本在线| 国产精品999在线| 久久性妇女精品免费| 日韩专区欧美| 国产美女91视频| 久久中文字幕不卡一二区| 国产亚洲男人的天堂在线观看| 久久久久夜色精品波多野结衣| 色综合久久综合网| 国产精品美女在线|