MATLAB中訪問數據庫

oracle:java

1、將OracleJDBC的JAR包拷貝到Matlab的相關目錄下($matlabroot/java/jar/toolbox)mysql

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

注意:2017a還只支持到jdk7,故只支持jdk8以上的ojdbc8.jar不能夠。sql

個人jdbc是放在:$HOME/matlab_workplace/java/數據庫

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

或者$HOME/matlab_workplace/java/ojdbc6.jaroracle

3、啓動MATLAB並接數據庫post

>> 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]


4、其它數據庫也相似:fetch

要注意jdbc支持的Java版本:spa

pg:postgresql

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');

sqlite3:

sqlite-jdbc-3.7.2.jar

>> conn=database('testDB.db','','','org.sqlite.JDBC','jdbc:sqlite:/mybk/sqlite3DB/testDB.db');
>> curs=exec(conn, 'SELECT * FROM COMPANY');
>> curs = fetch(curs, 100);
>> AA = curs.Data;
>> AA

AA = 

    [1]    'Paul'     [32]    'California'    [25000]
    [2]    'Allen'    [25]    'Texas'         [15000]
    [3]    'Teddy'    [23]    'Norway'        [20000]
    [4]    'Mark'     [25]    'Rich-Mond '    [65000]
    [5]    'David'    [27]    'Texas'         [85000]
    [6]    'Kim'      [22]    'South-Hall'    [45000]
    [7]    'James'    [24]    'Houston'       [10000]

>>
相關文章
相關標籤/搜索