連到遠端的MySQL database

各位前輩

小弟最近剛學database的東西

希望用LabVIEW來存取及查詢資料庫的東西.

我是使用.udl檔裡的介面去設定我的資料庫位置

本機的database我會存(就打磁碟機路徑及其檔案名稱就可以了)

但是遠端的資料庫不知道怎麼寫它的路徑

請問:

  1. 「.udl檔」是什麼?
  2. 你使用的資料庫是什麼資料庫?
  3. 你是用NI的Toolset還是LabSQL來做資料庫的連結?

To Benjamin

1.universal data link(這種檔案的做法只要把統文字文件.txt檔的副檔名改成.udl就變成一種universal data link介面了)

2.我使用的是Microsoft access 2000

3.我是使用toolset的

麻煩請前輩指教~

ByronGeorge38147.5835185185

你是使用在自動化設備的系統上嗎??  不少廠有用該資料庫連結的方法, 但還不知是否有人結合LabVIEW來使用呢??  試試  \\ + ip address\遠端資料位置  不確定啦, 有機會幫你問問, 我有朋友在做這方面的CIM....

[QUOTE=Ronaldsmith]

你是使用在自動化設備的系統上嗎??  不少廠有用該資料庫連結的方法, 但還不知是否有人結合LabVIEW來使用呢??  試試  \\ + ip address\遠端資料位置  不確定啦, 有機會幫你問問, 我有朋友在做這方面的CIM....

[/QUOTE]

先謝謝Ronald兄

我的確是應用在自動化設備系統的一部份,主要就是連結到資料庫去擷取資料,然後對資料做分析.![](upload://bYCGLVQ2xYCkY6TSDzv2PwwNXoA.gif)

 

ByronGeorge38147.7159027778

[QUOTE=ByronGeorge]我使用的是Microsoft access 2000[/QUOTE]

請問,你可不可以使用SQL Server呢?或是MySQL?

相較於Access,在處理大量資料時,效能表現會比較好。

我不確定使用Access要如何做遠端讀寫資料,但是,以下的您可以參考一下:

  1. Access檔案(*.mdb)的權限要打開,開成Everyone都可以不寫這一個檔案。
  2. 比如說你的資料庫的檔案名稱是LabVIEW.mdb,那麼連線的位址就是:\\255.255.255.255\labvie w。(應該是吧,這一點我也不是很確定)
  3. 如果你的資料錄放在A電腦的某一個資料夾中,如果你要從B電腦連線在A電腦的資料庫,你必須讓B電腦知道資料庫的位置。我猜,你 可以在A電腦的「資料來源(ODBC)」設定資料庫的位置、路徑,這樣別來電腦要連到A電腦的時候,才知道資料庫的路徑在哪裡。

其他的你可能要自己try一下了。try出來了,別忘了過來跟我們說一聲。

[QUOTE=Benjamin]

[QUOTE=ByronGeorge]我使用的是Microsoft access 2000[/QUOTE]

請問,你可不可以使用SQL Server呢?或是MySQL?

相較於Access,在處理大量資料時,效能表現會比較好。

[/QUOTE]

我是以access 2000為入門(LabVIEW中的example是以access為範例),將來會連線到MySQL.

謝謝Benjamin兄!

 

 

我做出來了...如附件所示.

敬請指正

=====================

  1. 首先下載MySQLODBC driver, 然後install it.(下載地:中山大學鏡射站,版本:3.51.07)
    ![](upload://5icqCvgCDjz0hkysAiUgV0gWpkQ.jpeg)
     
  2. 將一純文字文件(*.txt)副檔名改為.udl(universal data link),即可開始設定。
     
  3. 選第四個
    ![](upload://kAjoq6jVoLhFo8cWAfq3GiOlOlG.jpeg)
     
  4. 建立連接字串
    ![](upload://8xFKK93eXVhJdwgrONMLUhJPtN3.jpeg)
     
  5. 新增一個Data sources
    ![](upload://i63OivI9Obg0ksmoLl6wE2iaERr.jpeg)
     
  6. 這時先前安裝的驅動程式就會出現在裡面,選取它!
    ![](upload://nxRdqzC4XWtdAvvHzd9jp8Vevm9.jpeg)
     
  7. 儲存這個資料來源的地點
    C:\Program Files\Common Files\ODBC\Data Sources\mysql-nuke72.dsn
    ![](upload://wiknstF5ZP4W7wrnjKx2H3BL1JS.jpeg)
     

  8. ![](upload://6n3irekiYJ95sI3yOEapKz6znco.jpeg)
  9. 設定MySQL serverIP, Database name,and User name&password
    ![](upload://uWmuotAH4SBJWnEYA3gkOEm8Xuu.jpeg)

  10. ![](upload://sWDbs4vzWnEoGi2ltSFljB3gadn.jpeg)

  11. 此字串就由此檔案將方才輸入的資訊給寫編寫出來了
    DRIVER={MySQL ODBC 3.51 Driver};DESC=;DATABASE=XXX;SERVER=XXX.XXX.XXX.XXX;UID=XXX;PA SSWORD=XXX;PORT=;OPTION=;STMT=;
    ![](upload://kpApQvwLjnrXM03XfNzWqE1d9BG.jpeg)
  12. 測試連線一下!
    ![](upload://8lmi3FvjgHklXtybLQSreKOkSZd.jpeg)

  13. 當LabVIEW的程式需要讀取database的資訊時,選擇此檔案將相關資訊載入。
    ![](upload://1WT6nqmtZVQPqDvh49vTRPQ01ly.jpeg)
  14. 讀到資料了!
    ![](upload://jaLS4KcPUZejrfNcjYQvGEDjtap.jpeg)
Benjamin38158.8612847222

1.我按照ByronGeorge大所寫的步驟下去做時,做到此步驟,出現了一個問題!

2.當我按下Test  Data Source 後,出現下列的畫面

請問各位大大這要如何解決呢??   謝謝!

TWFCB38239.6024421296

我最近有一隻小程式也用到資料庫存取

雖然我也有NI Database toolset 但是個人覺得 並不是很好用

例如說 嘗試把Table內資料傳回時 所傳回的陣列每一element還需要經過轉換成一般使用的string,number等 好處大概就是可以使用.uid files吧

後來使用LabSQL 後端資料庫使用MySQL 並在local PC上安裝 MyODBC driver

並在控制台->資料來源(ODBC)->系統資料來源中設定所使用的DSN

這樣作有個好處是只要更動程式中指定DSN 程式就不必理會後端的DB server種類

同一個程式可以對Access或MySQL資料庫作存取 只要Table Layout皆相同即可

另外 不必設定系統資料來源的話 安裝MyODBC後 在LabSQL內的Connection String用下列格式即可與MySQL連線

DRIVER=MySQL ODBC 3.51 Driver;SERVER=xxx.xxx.xxx.xxx;User=xxx;Password=xxx;DATABASE=xxx

藍色的部份會跟你安裝的MyODBC版本有關, 紅色部份請自行修改

<span =“bold”>ByronGeorge:是不是在CLIENT端只要安裝MYSQL ODBC DRIVER就可以了?