Matlab如何连接Oracle数据库及基本操作

语言和语法都是相通的,了解Oracle的连接和处理,对于其他的数据库也是类似的。

一 通过ODBC实现到oracle的连接
1)控制面板->管理工具->ODBC数据源->在系统DSN中添加oracle数据源;
2)matlab命令行中输入建立连接的命令:
conn_odbc = database(‘QUIK‘, ... %ODBC名称 ‘QUIK‘, ... %登录用户名 ‘QUIK‘) %登录密码

二 通过JDBC建立与oracle的连接
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)

三 数据库查询
exec函数用于执行SQL语句,并返回一个cursor对象,需要注意的是,这里所说的cursor对象并不是我们在SQL中理解的游标,通过下面执行的语句结合理解:
curs = exec(conn_odbc, ‘select EMP_NO,NAME from EMP_MAIN‘); %执行查询 curs = fetch(curs); %获取查询呢结果 data = curs.Data; %将查询结果输出到矩阵变量
注意:通过第一句exec执行后,返回的结果变量curs并没有直接包含查询的结果,通过fetch函数才能将查询结果返回给赋值变量,最终的查询结果是包含在curs.Data中的!
四 向数据库中插入数据
fastinsert(conn, ‘tablename‘, colnames, exdata)
参数说明:
    tablename:表名
    colnames:列名
    exdata:待插入的数据
示例:
%执行插入 fastinsert(conn_odbc,‘EMP_MAIN‘,{‘EMP_NO‘,‘NAME‘},{‘LIKEQIANG‘,‘李克强‘}); %查看插入的数据 curs = exec(conn_odbc, ‘select EMP_NO,NAME from EMP_MAIN where EMP_NO=‘‘LIKEQIANG‘‘‘); curs = fetch(curs); data = curs.Data
注意:当需要同时向同一个表中插入多条数据时,可以通过向exdata中传入一个多行的矩阵,矩阵的每一行表示一条记录。在java中用惯了Statement.executeUpdate的朋友们,看到这个功能也许会小兴奋一下,至少我是,呵呵。
五 数据库更新
update(conn, ‘tab‘, colnames, exdata, ‘whereclause‘)    %一条update语句
update(conn, ‘tab‘, colnames, ...                       %更新多条update语句
{datA,datAA, ...; datB,datBB, ...; datn, datNN}, ...
{‘where col1 = val1‘; ‘where col2 = val2‘; ... ‘where  coln = valn‘}
参数说明:
    tab:表名
    colnames:列名
    exdata:待更新的数据
    whereclause:条件
示例:
%执行更新 update(conn_odbc, ‘EMP_MAIN‘, {‘EMP_NO‘,‘NAME‘}, {‘LIKEQIANG_OK‘,‘李克强_OK‘}, ... ‘WHERE EMP_NO=‘‘LIKEQIANG‘‘‘); %查看更新后的数据 curs = exec(conn_odbc, ‘select EMP_NO,NAME from EMP_MAIN where EMP_NO=‘‘LIKEQIANG_OK‘‘‘); curs = fetch(curs); data = curs.Data

六 对数据库的其他操作
1)执行数据操作的回滚和提交
exec(conn_odbc, ‘rollback‘); exec(conn_odbc, ‘commit‘);
2)执行DDL语句
基本语法是:exec(conn,‘sql语句‘);
示例:
%创建新表
mktab = [‘CREATE TABLE Person(LastName varchar2(20),‘ ... ‘FirstName varchar2(30),Address varchar2(100),Age number)‘];
curs = exec(conn_odbc, mktab);
 %修改表结构 curs = exec(conn_odbc, ‘ALTER TABLE Person ADD City varchar2(30)‘)
%删除表 curs = exec(conn_odbc, ‘DROP TABLE Person‘)
3)执行存储过程和函数
%执行存储过程
curs = exec(conn,‘{call sp_name (parm1,parm2,...)}‘);
curs = fetch(curs);
%执行函数
curs = exec(conn,‘SELECT dbo.get_prodCount() as num_products‘);
curs = fetch(curs);
注意:上面的语句是从matlab的帮助文档中粘贴过来的,没经过实际测试,如果的确需要用,只能劳驾自己尝试了!

七 完成数据库操作
在完成对数据库的查询、修改等操作后,需要关闭打开的游标和数据库连接,切记!
%关闭游标
close(curs);
%关闭数据库连接
close(conn_odbc);
1、准备工作和相关系列配置和是否链接成功测试:

时间: 2024-08-06 22:05:18

Matlab如何连接Oracle数据库及基本操作的相关文章

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

JavaWeb连接oracle数据库

javaWEB项目与普通java项目在连接oracle数据库上似乎略有不同. 普通java项目直接将ojdbc.jar构建路径即可: 而javaweb项目却可能并不能运行,需要再设置一下: 项目名上右键点击→属性→Deployment Assembly→Add→java Build Path Entries →ojdbc.jar,最后确定,重新运行项目. package dal; import java.sql.Connection; import java.sql.DriverManager;

PLSQL Develope连接oracle数据库配置

首先我们在讲PLSQL Develope连接oracle数据库配置之前,先讲下如果不用PLSQL Develope连接oracle数据库,那该怎么办,那就是在本机安装oracle数据库,不过这个对于配置渣的笔记本来说是个挑战,而且界面长时间不操作就会卡死,只能强制关闭,用起来非常不方便,如果笔记本配置高,且不想费力用PLSQL,那可以考虑直接安装oracle客户端. 下面我们来看看如何用PLSQ连接oracle. 1.自行百度下载plsql客户端,个人比较喜欢从CSDN上下载,你们随意.下载好后

如何用PL/SQL Developer连接Oracle数据库

之前因为项目的原因需要使用Oracle数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接Oracle数据库. 第一步 安装Oracle Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.Oracle可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要

java连接oracle数据库的实现代码

package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class ConnectionOracleDa

Java连接Oracle数据库

package com.db;              import java.sql.Connection;       import java.sql.DriverManager;       import java.sql.PreparedStatement;       import java.sql.ResultSet;              public class DBConnection {           // 连接Oracle数据库           public

连接Oracle数据库帮助类

连接Oracle数据库帮助类,就是把连接Oracle数据库的方法封装起来,只需要在其它页面调用就可,不需要重复写. import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import oracle.jdbc.driver.OracleDriver; /** * 数据库连接帮助类 * @author zql_pc * */ public class DbHelp { /* *

JDBC连接Oracle数据库

我记得大二的时候,我们上java课程,当时老师就说了JDBC这个东西,也没怎么好好学,直到现在,我也不直到JDBC是什么玩意,就知道这玩意可以从数据库提取数据,那么JDBC到底是什么呢? JDBC是Java DataBase Connectivity的缩写,含义意思是java数据库连接,不需要多解释了,我感觉! 那么我们如何去做这样子的一个连接呢?用过一次之后就会发现,其实很简单,记住几个步骤,还有就是导入必要的驱动包就可以了,下面是几个重要的步骤: 第一步,你的项目环境中必须要导入必要的数据库

使用ADO连接oracle数据库“未找到提供程序。该程序可能未正确安装”解决方案

问题描述:VS2010开发的C++程序,在一台Win7旗舰版的已安装Oracle客户端的PC上连接不上Oracle,提示"未找到提供程序.该程序可能未正确安装",其他语言编写的程序比如C#是可以成功连接Oracle的: 解决办法:首先是找谷歌度娘帮忙,找了几篇文章,都说是没有Oracle的Oledb驱动,去安装目录XXXX\bin下还真没找到OraOLEDB*.dll,然后按照文章帮助将OraOLEDB10.dll文件拷贝至有问题的Win7上,在DOS下开始注册,这时却提示"