LabVIEW通過第三方資料庫訪問工具包LabSQL,基於ODBC方式訪問Access資料庫。
而LabSQL是通過呼叫自動化引用控制代碼,獲得相關方法,執行SQL相關功能,最終封裝成子VI。
工具/原料
LabVIEW
LabSQL工具包
基於配置ODBC資料來源的方法訪問Access資料庫
首先根據LabVIEW的實際安裝路徑將LabSQL工具包放到如下預設安裝路徑(C:\Program Files (x86)\National Instruments\LabVIEW 2014\user.lib\LabSQL ADO functions);
在Windows7 32bit下,可以通過“控制面板/Control Panel”->“管理工具/Administrative Tools”->“資料來源(ODBC) /Data Sources (ODBC)”開啟(如果是64bit,可以通過如下路徑開啟C:\Windows\SysWOW64\ odbcad32),將ODBC資料來源管理器切換到“使用者DSN”選項卡,然後單擊“Add”按鈕;
選擇“Microsoft Access Driver(*.mdb)”項並單擊“完成”按鈕;
然後單擊“選擇”按鈕在磁碟或者其他儲存介質上選擇Access檔案MyDB.mdb,同時在“資料來源名/Data source Name”編輯框中輸入檔名MyDB,最後單擊“確定”即可。
這時可以觀察“ODBC資料來源管理器”已註冊的資料來源列表,其中可以看到剛剛註冊的資料來源MyDB,說明註冊資料來源成功;
LabVIEW對Access資料的訪問主要由LabSQL資料庫工具包中4個構成(1ADO Connection Create,2ADO Connection Open,3SQL Execute,4ADO Connection Close),工程師只需要在字串常量控制元件“資料來源”處輸入DSN=MyDB即可(其中MyDB是ODBC配置時候指定的名稱),然後在SQL指令處讀寫操作需要輸入SQL語言即可;
基於建立ODBC連線的方法訪問Access資料庫
首先根據LabVIEW的實際安裝路徑將LabSQL工具包放到如下路徑C:\Program Files (x86)\National Instruments\LabVIEW 2014\user.lib\LabSQL ADO functions。
ODBC連線字串格式如下:
Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\LabVIEW and Access\MyDB.mdb;Uid=;Pwd=;
其中:Driver為選擇的資料庫驅動,Dbq為資料庫放置的路徑,Uid為使用者名稱,Pwd為密碼(如果Access資料沒有設定密碼,則為空)。
基於建立OLEDB連線的方法訪問Access資料庫
首先根據LabVIEW的實際安裝路徑將LabSQL工具包放到如下路徑C:\Program Files (x86)\National Instruments\LabVIEW 2014\user.lib\LabSQL ADO functions。
OLEDB連線字串格式如下:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=檔案路徑\MyDB.mdb;Jet OLEDB:Database Password=;Persist Security Info=False
其中:Provider表示資料庫驅動程式,Data Source表示資料庫的名稱,Jet OLEDB:Database Password表示資料庫的密碼;Persist Security Info表示是否在資料庫連線成功後儲存安全資訊。
常用SQL語言
新建Access表,命名Train;包括ID(自動編號),Name(段文字),Age(整數型別),PValue(雙精度型別),PDateTime(日期/時間)一共五列;
SELECT 語句用於從表中選取資料;
SELECT 列1名稱,列2名稱,...列n名稱 FROM 表名稱;
SELECT * FROM 表名稱(其中*帶表全部);
INSERT INTO 語句用於向表格中插入新的行;
用於插入表的全部列值,INSERT INTO 表名稱 VALUES (值1, 值2,....值n);
也可以指定所要插入資料的列,INSERT INTO table_name (列1名稱,列2名稱,...列n名稱) VALUES (值1, 值2,....值n)
Update 語句用於修改表中的資料。
UPDATE 表名稱 SET 列1名稱= 新值,列2名稱= 新值,...列n名稱= 新值 WHERE 列名稱 = 某值;
其中WHERE是當某列滿足一定的條件時候才更新;
DELETE 語句用於刪除表中的行。
DELETE FROM 表名稱 WHERE 列名稱 = 值;
其中WHERE是當某列滿足一定的條件時候才刪除;
注意事項
SQL語言的語法;
Access的驅動型別(mdb/accdb);