Win7 64位系統 Matlab 訪問 Mysql 資料庫(詳細!),win7matlab

來源:互聯網
上載者:User

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 查詢語句貼!

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.