Win7 64位系統 Matlab 訪問 Mysql 資料庫(詳細!),win7matlab
Win7 64位系統 Matlab 訪問 Mysql 資料庫
PS: 看了很多網上用Matlab 串連Mysql 的技術貼,但是實際自己操作時總是出現問題,現寫下詳細的技術貼,希望以後少走彎路!後續還會寫一些matlab的資料庫語句!
執行個體:
I)下載得到mysql-connector-java-5.1.35-bin.jar;
http://dev.mysql.com/downloads/connector/j/
下載:mysql-connector-java-gpl-5.1.35.msi (不用擔心這個是32位的)
運行——C:\ProgramFiles (x86)\MySQL\MySQL Connector J——mysql-connector-java-5.1.35-bin.jar
II)複製至D:\ProgramFiles\Matlab\R2009b\java\jar\toolbox 檔案夾下;
III)對路徑D:\Program Files\Matlab\R2009b\toolbox\local 下得classpath.txt 文檔,增加了一句話,用來載入mysql的jdbc驅動
$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.35-bin.jar, 關閉matlab,重新開啟,一切OK。
注意:1. Classpath.txt 裡直接添加$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.35-bin.jar 即可。不要前面加#
2. mysql-connector-java-5.1.35-bin.jar 版本要一致
3. conn =database(‘test’,'root','123456','com.mysql.jdbc.Driver','jdbc:mysql://127.0.0.1:3306/test‘)
conn =
Instance: 'imgtograph'
UserName: 'root'
Driver: []
URL: []
Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]
Message: 'Unable to find JDBC driver.'
Handle: 0
TimeOut: 0
AutoCommit: 'off'
Type: 'Database Object'
錯誤:'Unable to find JDBC driver.'
解決: 1. test 必須是資料庫名,而不是串連名 (當發現 mysql-connector-java-5.1.35-bin.jar 複製處和 classpath.txt 都沒錯時,檢查你的語句是否有問題!)
2. 要重啟matlab
conn=database('123','root','123456','com.mysql.jdbc.Driver','jdbc:mysql://127.0.0.1:3306/123')
conn =
Instance: '123'
UserName: 'root'
Driver: 'com.mysql.jdbc.Driver'
URL: 'jdbc:mysql://127.0.0.1:3306/123'
Constructor: [1x1com.mathworks.toolbox.database.databaseConnect]
Message: []
Handle: [1x1com.mysql.jdbc.JDBC4Connection]
TimeOut: 0
AutoCommit: 'on'
Type: 'Database Object'
成功!
關於 matlab 查詢 mysq 語句:
conn=database('ryzh','root','9101','com.mysql.jdbc.Driver','jdbc:mysql://192.168.0.100:3306/ryzh')
sql=['SELECT A.date, B.symbol,A.Aum,B.EndQty,B.Tclose,A.CS FROM A JOIN B on A.date = B.date WHERE A.date = curdate()-1']
curs = exec(conn, sql);
curs =fetch(curs)
Position= curs.data;
注意: 1. ryzh 是資料庫名
2. sql 要寫對 (將sql 語句放到 NAVICAT 裡運行!!不能運行,就是語句發生了錯誤,資料讀不了)
3. exec , fetch 讀出來是結構體
4. curs.data 是資料 ( 總之:sql 要寫對,才能讀出來資料)
參考:1. http://blog.sina.com.cn/s/blog_5071eb880100w1i3.html matlab串連mysql的安裝詳細貼!
2. http://www.blogjava.net/qileilove/archive/2014/05/08/413436.html matlab 寫mySQL 查詢語句貼!