天天看點

matlab使用jdbc遠端連接配接mysql資料庫

matlab是一款非常常用的資料分析、模組化軟體,最近想做一款金融資料分析的分析工具,之前都是使用python先把資料從網絡爬取下來,或者從自己的linux伺服器上面導出來,儲存在本地,每一列都是數字類型,然後使用matlab的importdata或者read_csv讀入資料,然後再分析,這種方式很慢,效率低下,不能友善的處理字元串資料,然而在很多項目中,文本資訊是很重要的資料,另一個缺點就是,每次分析資料都需要處理一次資料,雖然可以寫各種各樣的腳本從伺服器擷取資料、轉化為矩陣類型存儲在本地,但是一個項目有很多個表格,甚至涉及到很多個資料庫,這就意味着要寫很多個腳本,而且每一個項目都如此,是以在開展這個項目之前,還是得花點時間探索一下如何通過matlab直接從資料庫擷取資料

網上有很多教程,但是都沒有很全面,是以這裡自己總結一下,友善有同樣需求得朋友。

matlab遠端連接配接資料庫有odbc和jdbc兩種方式,這裡odbc相比于jdbc有很多缺陷,是以這裡介紹jdbc方式

這裡有一個注意事項:

在配置之前得保證你的遠端資料庫允許所有ip位址遠端連接配接,mysql安裝以後如果沒有配置的話,預設是隻允許從本地登陸連接配接的,一開始我就是配置以後連結不上,搗鼓了很久才想到可能是這個原因,配置以後可以成功連結,下面說一下步驟

1:配置mysql資料庫,配置允許所有ip位址遠端連接配接

首先進入mysql指令行:

    mysql -uuser -ppassword

user是要登陸mysql得使用者名,password是該使用者登陸mysql時得密碼

比如你使用root登陸,密碼是123456:

mysql -uroot -p123456

注意-u和使用者名之間、以及-p與密碼之間沒有空格

登陸以後,再使用指令配置,user使用者可以通過密碼‘123456’從所有ip位址遠端連接配接

grant all privileges on *.* to 'user'@'%' identified by '123456';

2:下載下傳jdbc驅動,并配置到matlab路徑中

jdbc下載下傳位址:

https://dev.mysql.com/downloads/connector/j/

下載下傳以後解壓,并把加壓後得

mysql-connector-java-5.1.46-bin.jar

jar檔案複制到matlab安裝目錄下的java/jar目錄中(其實随便放在那裡都可以,主要是後面的配置,路徑寫對就可以)

3:配置matlab的路徑檔案

在matlab的安裝目錄下找到toolbox/local目錄,目錄中有一個classpath.txt檔案,使用記事本等文本編輯器打開,在最下面添加一行,将剛才的jdbc驅動jar包路徑配置進去

$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.46-bin.jar

其中$matlabroot表示matlab的安裝目錄,你也可以寫全路徑,然後儲存關閉,并重新開機matlab

4:在matlb中遠端連接配接資料庫

database='my_database';

user='root';

password='123456';

driver='com.mysql.jdbc.Driver';

url='jdbc:mysql://192.168.0.1:3306/my_database';

conn=database(database,user,password,driver,url)

matlab使用jdbc遠端連接配接mysql資料庫

如果連接配接成功,傳回的結果中,AutoCommit 顯示為‘on’

curs=exec(conn,'select * from my_table limit 10');

d=fetch(curs)

data=d.Data

matlab使用jdbc遠端連接配接mysql資料庫

繼續閱讀