Matlab 调用Oracle数据库
一 通过ODBC实现到oracle的连接
1)控制面板->管理工具->ODBC数据源->在系统DSN中添加oracle数据源;
2)matlab命令行中输入建立连接的命令:
conn_odbc = database('QUIK', ... %ODBC名称 'QUIK', ... %登录用户名 'QUIK') %登录密码
二 通过JDBC建立与oracle的连接,此处我使用的也是利用JDBC操作。
1)找到jdbc的驱动程序文件D:\oracle_app\lcm\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar,将其复制到
matlab安装目录的java子目录D:\Program Files\MATLAB\R2013a\java\jar\toolbox;
2)修改matlab的classpath文件:D:\Program Files\MATLAB\R2013a\toolbox\local\classpath.txt,在结尾添加一
行内容:
$matlabroot/java/jar/toolbox/ojdbc6.jar
3)matlab命令行中输入建立连接的命令:
conn_jdbc = database('QUIK', ... %数据库服务名 'QUIK', ... %登录用户名 'QUIK', ... %登录密码 'oracle.jdbc.driver.OracleDriver', ... %驱动名称 'jdbc:oracle:thin:@localhost:1521:') %连接字符串
通过ping命令查看连接状况:
ping(conn_odbc) ping(conn_jdbc)
%% Read data from Oracle
% Create a connection from Matlab to Oracle
% Oracle DataBase Connection Usage
% conn = database('DBname','UserName','UserPwd','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@localhost:1521:');
% conn = database('AVM','m','m', 'oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@10.84.13.18:1521:');
% Execute query and get data from Oracle
curs = exec(conn, 'select * from mes_imp_operate_log d');
data = fetch(curs);
% Get number from Oracle
data = data.Data;
% Last Close Cursor
close(curs);
close(conn);
data
结果输出(和实际中一样的结果,结果存储类似矩阵):
2、我们执行一条Insert的ddl试试:
%% Read data from Oracle
% Create a connection from Matlab to Oracle
% Oracle DataBase Connection Usage
% conn = database('DBname','UserName','UserPwd','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@localhost:1521:');
% 服务名记住要是Oracle实际中的,可能不是tns配置的
conn = database('A','mssd','mis', 'oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@10.80.10.13:1521:');
% Execute query and get data from Oracle
sql = 'INSERT INTO mes_imp_operate_log(id, create_time, user_id, operate_type, remark, trace_no)VALUES(mes_imp_operate_log_s.nextval, SYSDATE, 3, ''ss'', ''录入test'', ''test'' )';
curs1 = exec(conn, sql);
% Commit Or roolback Transction
%exec(conn_odbc, 'rollback');
exec(conn, 'commit');
curs = exec(conn, 'SELECT * FROM mes_imp_operate_log');
data = fetch(curs);
% Get number from Oracle
data = data.Data;
% Last Close Cursor
close(curs);
close(conn);
测试结果:
,将.m 文件打包成jar,Eclipse调用,可以参考:
Matlab 调用Oracle数据库的更多相关文章
- oracle学习笔记1:windows下oracle数据库安装及.net调用oracle数据库
1.下载32位或64位oracle数据库并且安装,安装时可以选择安装数据库实例或者不安装,如果不安装的话之后可以用Database Configuration Assistant(DBCA) 通过向导 ...
- 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具
Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老手,有时候安装起来也觉得挺烦.而工作中,通常服务器上面安装oracle就可以了,我们本地电脑 ...
- 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具 【转载】
http://www.cnblogs.com/jiekzou/p/5047850.html Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老 ...
- java调用oracle数据库发布WebService
package com.hyan.service; import java.io.FileInputStream;import java.sql.Connection;import java.sql. ...
- ibatis.net调用oracle存储过返回游标SYS_REFCURSOR结果集
最近在用ibatis.net框架和oracle 11g开发一套程序.其中有一个需求就是通过存储过程,查询指定条件的数据集. 但是在开发的过程中遇到了问题,问题如下: 1.如何通过ibatis.net执 ...
- 关于Oracle数据库故障诊断基础架构
本节包含有关Oracle数据库故障诊断基础结构的背景信息.它包含以下主题: 故障诊断基础架构概述 关于事件和问题 故障诊断基础设施组件 自动诊断信息库的结构,内容和位置 故障诊断基础架构概述 故障诊断 ...
- 160316、实时处理oracle数据库中表的数据变化
http://blog.csdn.net/as339000204/article/details/45390727 近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是 ...
- 【Java EE 学习 29 下】【JDBC编程中操作Oracle数据库】【调用存储过程的方法】
疑问:怎样判断存储过程执行之后返回值是否为空. 一.连接oracle数据库 1.需要的jar包:在安装的oracle中就有,所以不需要到官网下载,我的oracle11g下:D:\app\kdyzm\p ...
- Oracle数据库中调用Java类开发存储过程、函数的方法
Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日 浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...
随机推荐
- 3种方式实现KVO并进行对比
KVO KVO属于设计模式中的观察者模式,在观察者模式中,一个对象任何状态的变更都会通知另外的对改变感兴趣的对象.这些对象之间不需要知道彼此的存在,这其实是一种松耦合的设计.当某个属性变化的时候,我们 ...
- hdu 3123 GCC (2009 Asia Wuhan Regional Contest Online)
GCC Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm ...
- Python、Lua和Ruby比较——脚本语言大P.K.
译者按:Python.lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生.在Tom Gutschmidt的著作<Game Programmng w ...
- 学习笔记:A*算法
简易地图 如图所示简易地图, 其中绿色方块的是起点 (用 A 表示), 中间蓝色的是障碍物, 红色的方块 (用 B 表示) 是目的地. 为了可以用一个二维数组来表示地图, 我们将地图划分成一个个的小方 ...
- tomcat怎么运行servlet程序
新建一个web project 取名 myproject 在myproject 新建一个继承了HttpServlet 的类 MyServlet 重写HttpServlet 的 dopost doget ...
- Informatica 常用组件Lookup缓存之三 重建查找高速缓存
如果您认为查找源在 PowerCenter 上次构建高速缓存时已更改,则可指示 PowerCenter 重建查找高速缓存. 重建高速缓存时,PowerCenter 会覆盖现有永久高速缓存文件而创建新的 ...
- go语言基础之init函数的介绍
1.init函数的介绍 示例: 文件夹目录如下: 源代码: vi main.go //程序入口 package main //必须 import ( "calc" " ...
- Geolocation地理定位
地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理及各个 ...
- 字符串HASH 学习总结 && 模板
一.字符串HASH模板 取自挑战程序设计竞赛(第2版) </pre><pre code_snippet_id="446698" snippet_file_nam ...
- java oracle thin 和 oci 连接方式实现多数据库的故障切换
java oracle thin 和 oci 连接方式实现多数据库的故障切换 一.thin方式 该种方式简便易用非经常见. 当中URL为 jdbc:oracle:thin:@(DESCRIPTION= ...