LabSQL+MySql Step by Step

準備事項

  1. 準備軟體: 本範例所使用軟體除LabVIEW 外皆為免費資源.
  2. LabSQL (可以不用方裝,只用到基本的幾個VI而已)

  3. 先至 http://www.mysql.org/ 下載下列軟體
    3-1. MySql-4.1.exe or 更高版本;MySQL 本體是也
    3-2. MyODBC-3.51.11-2-win.exe; MySQL 的ODBC Driver
    3-3. mysql-administrator-1.0.20-win.msi;方便管理MySQL系統的工具
    3-4. mysqlcc-0.9.4-win32;方便管理MySQL 資料庫的工具

MySQL 系統設定

安裝MySQL WIN32 版本,全部使用預設值即可,本文不探討MySQL深入管理之部份

安裝mysql-administrator-1.0.20-win.msi ;mysqlcc-0.9.4-win32;MyODBC-3.51.11-2-win.exe.

皆使用預設值就可以了,安裝完成很可以看到視窗右下小圖示中多了一個就代表mysql-administrator 已經有安裝好了,再來點右鍵可看到:


或是MySQL沒有啟動時的:


如果MySQL 已啟動哪就可以進入管理MySQL了(目前在我的電腦上有一個小問題,就是在第一次啟動時,MySQL顯示為啟動,但確無法登入也無法找到資料庫,只是先Shutdown 再 Start 即可)


使用安裝時所設定的密碼登入,若在遠端,只要將ServerHost:改成Server的IP即可。

此處帳號 root 指的是 MySQL 本身的管理帳號跟系統無關.在Linux 上比較容易混亂。

登入MySQL Administrator 的畫面,到這一步就可以確定MySQL 已經Online了

再來使用MySQL CC登入資料庫並建立一個可用來測試用的database

MySQL CC

登入後先建立一個新的連線:

一樣使用root 的帳號登入就可以了,輸了帳號後可以按 Test 看看是否連線成功.

登入後可以看到已經有兩個 Database 存在,一個是mysql 這個資料庫用來儲存mysql 的系統資訊,千萬不要去動他,另一個則是 Test 用來作測試用的,我們直接另外建一個,不需理會他,在Database 的文字上按滑鼠右鍵來新增一個database:

新增一個名叫LabTest 的database

與LabTest 取得連線

再建立新的Table

接下來就是建立Field ,也就是Table 的欄位,我以一個連絡簿為範例,建立此Table。本文並不探討資料庫結構所以我一律以「可變動字串(varchar)」定義Field,

按存檔,儲存這個Table

然後關閉這個視窗就可以進行填入值的動作了
PS:當然也可以直接由SQL語法 create database 和 create table 來完成,但應該很少人會開放權限讓USER 直接create database.

選擇TABLE後,雙擊左鍵或是按左上方SQL 的小圖示進入database

按下SQL圖示後再按一次 Execute 鈕

按下Insert Record 插入資料

如圖示新增兩筆資料

到這裡,我們已經設定好MySQL ,並且有一資料庫可用了。

LabView Connect to MySQL

由於LabSQL 是透過ODBC的方式來存取資料庫所以得事先在Client 端上先安裝MySQL ODBC Driver。先前已安裝好的MyODBC-3.51.11-2-win.exe 現在可以去把他設定跟MySQL 作一個連線,首先進到 MySQL Administrator 內建立一個帳號(或直接用root 也可以),按下 NewUser

建立一個ID:labview Password:labview PS:實際應用時自行定義即可

給與此帳號 SELECT , INSERT , UPDATE , DELETE 之權限
PS:此處可依需要自行開放,但一個DROP 指令就可以刪除整個 database 僅甚使用.

之後按下Apply changes 就完成了MySQL 帳號的建立
再來進到控制台內(此處我以 WIN2K 為範例 XP 大致相同)
進入系統管理工具內

開啟ODBC設定

新增一個 System DSN



輸入方才所建立之帳號,如果IP及帳號正確Database 就可以選擇能使用之Database

Server 如果是遠端電腦輸入IP即可

按一下Test,確認連線OK

到這裡MySQL的部份已經完全OK了,接下來就可以由LabSQL來呼叫使用

LabVIEW程式

在LabSQL中我們只需幾下列幾個基本的指令就可以完成SQL所有的動作,接下用這幾個VI來作一個簡單的通訊錄:

首先來一個最基本的查詢動作:「Select * from address_book

到這邊MySQL + LabSQL 的連線就算是完全OK了,但是因為MyODBC 有一個小Bug
就是在利用 LabSQL 作 insert or update 等寫入動作時會有error 產生,但動作可以確實完成,如以下範例:

作者的解決方式就是造一個 error out indicator 並且把他Hide 超來不予理會

可利用MySQL CC 中SQL語法「select * from address_book;」這個指令去查詢剛才哪筆資料確定有寫入,另外MySQL CC 中的SQL 語法執行真的很好用以前用LINUX版的MySQL 還真不知道有這個東西,我的心得就是想在LabView中跑的SQL 語法可以先到這邊來試,這個軟體可以自動把SQL 的保留字以不同的顏色顯示另外,MySQL 雖然有各種資料型態但透過 LabSQL 只能用字串的方式來讀寫,讀取一律為字串,寫入則以字串的方式來表示各種形態

結語

本想利用LabSQL 寫一個範例程示的,但因為目前工作較多,再加上幾乎都只是LabVIEW 原本的功能,加上SQL 語法的變化而已。有需要的人再一起討論吧。

1個讚

提供一個目前正在使用的資料庫 SQLite, SQLite官網在這裡

免安裝, 免設定,這點個人覺得還蠻好的.

當然LabVIEW使用與整合上, 有興趣的人可以參考這裡~

2個讚

我個人是使用

Mysql workbench,還蠻方便的

想請問這個具體要怎麼操作才能執行?謝謝

LabView “Connectivity → Database” function 跟 ADO 類似