《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 1686|回复: 0
收起左侧

[教程] Matlab建立到Oracle数据库的连接

  [复制链接]
发表于 2013-11-14 22:36:02 | 显示全部楼层 |阅读模式
一、MATLAB通过ODBC建立到Oracle数据库的连接
1、在Windows下“开始”→“控制面板”→“性能和维护”→“管理工具”,点击“数据源(ODBC)”

2、选择“系统DSN”→“添加”→选择“Oracle in OraClient11g_home1”,点击“完成”。

3、配置数据源名、TNS和登录ID。

4、点击“确定”,即可。

5、在Matlab中建立到Oracle的JDBC连接测试。

>> conn = database('test','scott','123456'); (三个参数分别为数据源名、登录用户名和口令)

二、Matlab通过JDBC建立到Oracle数据库的连接

Linux下的配置过程和Windows一样,如下:
1、将Oracle JDBC的JAR包拷贝到Matlab的相关目录(..\matlab\java\jar\toolbox\)下。

    Oracle 11g安装目录的jdbcàlib(如\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版本。我们把ojdbc6.jar拷贝到matlab主目录中的java\jar\toolbox目录下。2010b版是ojdbc14.jar文件。

例如:
    这里使用到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目录下存在。

2、配置matlab的classpath.txt文件
    打开..\matlab\toolbox\local目录,编辑classpath.txt文件。添加如下行:
        $matlabroot/java/jar/toolbox/ojdbc6.jar
    并保存。

3、在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 * from EMP');

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)

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2020-8-6 06:10 , Processed in 0.046013 second(s), 10 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表