MATLAB 7.1 連接 SQL SERVER 2000 教學
2007 4/10 MATLAB 7.1 連接 SQL SERVER 2000 教學
今天整理專題文件,意外發現的簡單教學文章,所以就整理一下放上來囉!
想當初,第一次接觸MATLAB也是看了很久的英文說明文件才弄起來的!(我英文不好,看原文的說明文很吃力...)
不閒聊了!來看這個很簡單的教學吧!
Step1:首先我們先去 jTDS JDBC Driver 下載JDBC DRIVER,這邊我下載的是jtds 1.2版
下載位置:http://sourceforge.net/project/showfiles.php?group_id=33291
解壓縮後找到jtds-1.2.jar這個檔案,並將它放到C:\Program Files\MATLAB71\java\jarext\底下
(這是預設安裝路徑,如果你不是使用預設路徑,請視實際狀況變更路徑)
然後開啟C:\Program Files\MATLAB71\toolbox\local\classpath.txt這個檔案,加入JDBC的位址
"$matlabroot/java/jarext/jtds-1.2.jar"
Step2:開啟MATLAB的DATABASE TOOLBOX內的VQB
Step3:設定JDBC
NAME 資料庫名稱(輸入要使用的資料庫名稱)
Driver 驅動程式位址,請輸入"net.sourceforge.jtds.jdbc.Driver" 這裡使用JTDS來連SQL SERVER 2000
URL 這邊請輸入"jdbc:jtds:sqlserver://127.0.0.1:1433/" (視情況改變你的資料庫IP及PORT)
資料庫的帳號密碼會另外彈出視窗請你輸入
Step4:執行查詢
現在可以將資料庫的資料匯入到MATLAB囉
(點圖可放大)
備註:jtds-1.2.jar是另一種連接SQL SERVER 2000的JDBC 號稱比微軟出的JDBC效率更高
2007 8/26 補充:以 Matlab 的 M-file 來存取資料庫
為什麼要用M-File?
因為 M-File 才可以對Matlab做更進階的操作。所以我們來看看怎麼用M-File將資料庫載入到MATLAB
在前面的方法,如果我們已經成功的將資料給匯入到MATLAB後,我們在視窗上的選項選:
Query → Generate M-file
這時候就會出現 M-file 的編輯程式裡面就會有已經寫好的程式碼
程式碼:
setdbprefs({'DataReturnFormat','ErrorHandling','NullNumberRead','NullNumberWrite','NullStringRead','NullStringWrite','JDBCDataSourceFile'},{'cellarray','store','NaN','NaN','null','null',''});
conn = database('資料庫名稱','使用者','密碼');
%建立連線
e = exec(conn,'SQL敘述',net.sourceforge.jtds.jdbc.Driver','jdbc:jtds:sqlserver://資料庫IP:PORT/');
%執行SQL敘述
e = fetch(e);
close(e)
close(conn)
%關閉連線
DATA=cell2mat(e.Data);
%這裡我們必須自己新增一個變數來存放載入的資料 "DATA"為我們新增的變數。
%cell2mat 是轉換型別的函數 用來轉換存在 e.Data 的資料
%(更多種的函數請查詢Matlab的Help文件)
執行上面的程式後,我們就可以把資料存到DATA變數裡,以方便我們做後續更多的運算及應用!
接下來我們來看看怎麼把運算好的資料寫回資料庫!
setdbprefs({'DataReturnFormat','ErrorHandling','NullNumberRead','NullNumberWrite','NullStringRead','NullStringWrite','JDBCDataSourceFile'},{'cellarray','store','NaN','NaN','null','null',''});
conn = database('資料庫名稱','使用者','密碼');
%建立連線.
insert(conn,'資料表名稱',{'欄位1','欄位2','欄位3', ... ,'欄位N'},要寫入的資料);
%欄位名稱可以先寫入在一個字串陣列中,用的時候代入變數可以讓程式碼起來較簡單
%要寫入的資料請放在陣列中 insert 函數會將陣列的資料依造你對應的欄位寫入資料庫
執行上面的程式,我們就可以將運算好的資料寫回去資料庫,Matlab存取資料庫就是這麼簡單!
以上就是用Matlab存取資料庫的簡單教學文章!
如果想更深入瞭解Matlab請查閱Help文件,裡面有非常詳細的說明!
謝謝收看!
5 回應:
写的很好,太厉害了,能请教大侠一个问题吗,怎么做MATLAB连接SQL数据库实现可视化界面的增删改查及权限管理的B/S模式软件
你有MSN或其他联系方式吗?有些问题想请教你一下,可以吗?谢谢了,帮我一下吧
ROY 你好,對於Matlab我也是初學者,所以這篇文章是當時的一些心得,我所會的部分也大概只到這個程度,所以你說的部份我不能給你任何支援,真是抱歉
大大您好 我是MATLAB的新手
我在搜尋引擎看到您寫的這篇文章
想跟大大您請教幾個問題
如果想藉由MATLAB把FTP上的資料下載下來並讀取其內部資料,用此方法是否能解決
謝謝
Leon 你好
我有回信給你喔,請收信~
不管有無收到,都給我一個回應吧~
張貼留言