MATLAB中访问数据库

oracle:

一、将OracleJDBC的JAR包拷贝到Matlab的相关目录下($matlabroot/java/jar/toolbox)

sudo cp ojdbc6.jar /opt/local/MATLAB/R2017a/java/jar/toolbox/.

注意:2017a还只支持到jdk7,故只支持jdk8以上的ojdbc8.jar不可以。

二、配置matlab的classpath.txt
vi /opt/local/MATLAB/R2017a/toolbox/local/classpath.txt
添加如下行:
  $matlabroot/java/jar/toolbox/ojdbc6.jar

三、启动MATLAB并接数据库


>> clear
>> conn=database('xe','scott','tiger','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521:');
>> curs=exec(conn, 'select * from EMP');
>> curs = fetch(curs, 100);
>> AA = curs.Data;
>> AA

AA =

  14×8 cell 数组

    [7369]    'SMITH'     'CLERK'        [7902]    '1980-12-17 00:00:…'    [ 800]    [ NaN]    [20]
    [7499]    'ALLEN'     'SALESMAN'     [7698]    '1981-02-20 00:00:…'    [1600]    [ 300]    [30]
    [7521]    'WARD'      'SALESMAN'     [7698]    '1981-02-22 00:00:…'    [1250]    [ 500]    [30]
    [7566]    'JONES'     'MANAGER'      [7839]    '1981-04-02 00:00:…'    [2975]    [ NaN]    [20]
    [7654]    'MARTIN'    'SALESMAN'     [7698]    '1981-09-28 00:00:…'    [1250]    [1400]    [30]
    [7698]    'BLAKE'     'MANAGER'      [7839]    '1981-05-01 00:00:…'    [2850]    [ NaN]    [30]
    [7782]    'CLARK'     'MANAGER'      [7839]    '1981-06-09 00:00:…'    [2450]    [ NaN]    [10]
    [7788]    'SCOTT'     'ANALYST'      [7566]    '1987-04-19 00:00:…'    [3000]    [ NaN]    [20]
    [7839]    'KING'      'PRESIDENT'    [ NaN]    '1981-11-17 00:00:…'    [5000]    [ NaN]    [10]
    [7844]    'TURNER'    'SALESMAN'     [7698]    '1981-09-08 00:00:…'    [1500]    [   0]    [30]
    [7876]    'ADAMS'     'CLERK'        [7788]    '1987-05-23 00:00:…'    [1100]    [ NaN]    [20]
    [7900]    'JAMES'     'CLERK'        [7698]    '1981-12-03 00:00:…'    [ 950]    [ NaN]    [30]
    [7902]    'FORD'      'ANALYST'      [7566]    '1981-12-03 00:00:…'    [3000]    [ NaN]    [20]
    [7934]    'MILLER'    'CLERK'        [7782]    '1982-01-23 00:00:…'    [1300]    [ NaN]    [10]


四、其它数据库也类似:

要注意jdbc支持的Java版本:

pg:

postgresql-42.2.2.jre7.jar

>>conn=database('DBname','user','passwd','org.postgresql.Driver','jdbc:postgresql://127.0.0.1:5432/');

mysql:

mysql-connector-java-5.1.46-bin.jar
conn=database('DBname','user','passwd','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/DBname');

猜你喜欢

转载自my.oschina.net/u/2245781/blog/1825538