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