您的位置:首页 > 编程语言 > MATLAB

Win7 64位系统 Matlab 访问 Mysql 数据库(详细!)

2015-04-10 10:01 489 查看

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 查询语句贴!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: