基于MATLAB数据库开发
基于MATLAB数据库开发
摘 要:主要介绍了使用MATLAB进行数据库开发3种方法,分别为基于外部数据源、VQB(Visual Query Builder)、结构数组,并分别给出实例。数据库的开发使得MATLAB可以发挥更大的数据处理功能。
关键词:MATLAB;数据库;结构数组
中图分类号:TP311.52 文献标识码:A 文章编号:1672-7800(2011)09-0145-03
0 引言
MATLAB是一个功能强大的计算机辅助设计软件,被称为“草稿纸式的科学计算语言”。它具有强大的符号、数值计算、矩阵运算及图形显示功能。在MATLAB实际应用中,除了工程设计外,用户经常需要实现在MATLAB环境下自主开发数据库的功能,完成MATLAB与数据库的通信,从而充分发挥MATLAB强大的数据处理能力。鉴于此,本文将介绍开发设计MATLAB数据库的3种方法。
1 基于外部数据源的MATLAB数据库开发
ODBC(开放式数据库连接)是对多种数据库管理系统设计的统一数据库应用接口(API),由3部分组成:API、驱动程序管理器和驱动程序。ODBC提供了统一的数据库管理系统的标准接口,从而使编程人员不必关心底层的DBMS,简化了不同DBMS的数据交换。MATLAB与数据库的接实现的依据就是数据源链桥(ODBC―JDBC),如图1。
图1 MATLAB与数据库的连接实现
1.1 数据库的配置
在建好的外部数据源的情况下,首先需要完成数据库的配置,即在系统中配置数据库驱动,为MATLAB访问外部数据源提供接口。这里以MS Access数据库为例,介绍基于外部数据源的MATLAB数据库开发步骤。
现已有某数据库CurveDataDB.mdb文件。该数据库由两个数据表组成: SRPResult表,该表中有well_name、pr_min_f等40个字段,21118条记录;Cord表,有well_name、Maxload等47个字段,50条记录。数据库配置的基本步骤为:①通过windows中的控制面板进入“管理工具”,选择管理工具中“数据源(ODBC)”双击,进入“ODBC数据源管理器”。ODBC数据源存储了如何与指定的数据提供程序连接的信息;②在“用户DNS”面板中列出了系统中MS Access Database、Excel、Files、DBASE Files等用户数据源;③点击“添加”按钮,创建新的数据库,并为数据源选择相应的驱动程序,本例中选择Driver Do Microsoft Acess(*.mdb),点击“完成”进入相应数据库的安装对话框,并将相应的数据库件作为数据源,本例中选择的是CurveDataDB.mdb。
配置成功后将在“ODBC数据源管理器”中显示相应的数据库,如图2所示。
图2 ODBC数据源管理器图3 Visual Query Builder界面
1.2 MATLAB环境下数据库连接
完成数据库驱动配置后,要在MATLAB中进行数据库的程序连接,用到的函数及方法如下。
超时设置:设置或获取建立数据库连接的超时时间,即MATLAB通过ODBC-JDBC驱动建立数据库连接所允许的最大时间,函数为
logintimeout(Time,Driver)
调用方法:
t=logintimeout(Time,Driver);
其中参数Time和Driver为可选,前者为时间参数,后者为JDBC驱动器。当不设置参数时,函数返回当前超时时间;若返回值为0,表示还没有设置;若没有连接成功,MATLAB则将立即停止重试。
数据库连接:建立MATLAB的JDBC-ODBC连接,函数为
database(Instance,UerName,Password,Driver,DatabaseURL)
调用方法为
conn=database(Instance,UerName,Password,Driver,DatabaseURL);
其中数据库名称Instance为必选参数,UserName、Password是用户名和密码,若不需要可用空字符来代替,数据库驱动参数Driver和数据库统一资源定位参数DatabaseURL为可选参数。
连接测试:获取数据库连接的状态信息,函数为ping(conn);其中conn为数据库连接时连接的数据库。
已经建立的CurveDataDB数据库的数据连接程序为
t=logintimeout(5)
conn=database('CurveDataDB');
ping(conn);