matlab以jdbc的方式连接数据库
后面一大堆,总的来说就是建议大家用64位matlab(目前32.9和intel那个服务器上是64位的)的时候用jdbc方式连接数据库。改动不大,连接命令和以前相似: database(库名、用户名、密码、驱动、ip串)e.g.conn=database('fa','fa','fa','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521:');(Matlab-Toolbox里面已经添加了jdbc的架包,直接写命令就可以了)64位的matlab,用odbc取数据的时候出了些随机问题,大致就是fetch返回的数据记录条数与 pl-sql实际查询不符,且随机变动,matlab不报错。重启游标和连接都没有用,需要重启matlab解决。改为jdbc连接后到目前为止没出这个问题。这位同学描述的更具体:http://www.mathworks.com/matlabcentral/answers/35887-wrong-data-size-being-returned-by-fetch-64-bit-databasetoolbx
下面是Matlab 2014文档中的数据库连接方式列表对比http://www.mathworks.cn/cn/help/database/ug/using-native-odbc-connection.html
连接方法:请参考:http://blog.csdn.net/pretend_b/article/details/6064554
Linux下的配置过程和Windows一样,如下:
1、将OracleJDBC的JAR包拷贝到Matlab的相关目录(..\matlab\java\jar\toolbox\)下。
Oracle 11g安装目录的jdbclib(如\app\Administrator\product\11.1.0\client_1\jdbc\lib)下有四个文件:ojdbc5.jar、ojdbc5_g.jar、ojdbc6.jar、ojdbc6_g.jar。
ojdbc5.jar、ojdbc5_g.jar应用于jdk1.5版本,ojdbc6.jar、ojdbc6_g.jar应用于jdk1.6版本。 www.linuxidc.com我们把ojdbc6.jar拷贝到matlab主目录中的java\jar\toolbox目录下
例如:
这里使用到Oracle服务端使用的是 Oracle 11g
此时,将ojdbc6.jar包拷贝到D:\matlab\R2008b\java\jar\toolbox目录下。
注意:
1、客户端的ojdbc6.jar在..\product\11.1.0\client_1\jdbc\lib目录下存在。
2、服务端的ojdbc6.jar在..\product\11.1.0\db_1\jdbc\lib目录下存在。
3、配置matlab的classpath.txt文件
打开..\matlab\toolbox\local目录,编辑classpath.txt文件。添加如下行:
$matlabroot/java/jar/toolbox/ojdbc6.jar
并保存。
4. 请重启matlab!!!!(切记,否则虽然保存无问题,但是用javaclasspath来看的时候就会发现没有添加进去ojdbc6这一行。)
5、在Matlab中建立到Oracle的JDBC连接测试。
>>conn=database('orcl','scott','123456',
'oracle.jdbc.driver.OracleDriver',
'jdbc:oracle:thin:@192.168.0.101:1521:');
(回车即可)
参数说明:
orcl:数据库服务名
scott:用户名
123456:用户密码
oracle.jdbc.driver.OracleDriver:驱动
jdbc:oracle:thin:@ 192.168.0.101:1521::连接串
Matlab中简单的数据库操作
1.连接
conn=database(),database必须为三个或五个入参
2.执行查询
curs=exec(conn, 'select * fromEMP');
%取记录,最多10条
curs = fetch(curs, 100);
%读取记录值,存放于curs.Data中
AA = curs.Data;
AA
3.获取数据
curs=fetch(curs)
4.insert
insert(conn, table, colnames,exdata)如:
insert(conn,’tb_queue_tmp’,{’t_tm’},{‘0001’})
5.update
update(conn, table, colnames,exdata, whereclause)
MATLABconn 链接代码:
其中参数来源于oracle的参数,plsql -- help – oracle info – TNS name 找到所要用的那个数据库
来自:http://blog.sina.com.cn/s/blog_c29649af0102w6oy.html
页:
[1]