用matlab读取 .mdb文件一般需要分两步:
第一步:为 .mdb文件创建一个数据源(使用ODBC来连接)
1.windows xp操作系统的:在命令行中输入odbcad32,打开odbc资源管理器(这是利用控制台的方法,具体步骤是:控制面板->管理工具->数据源(ODBC))
windows 7操作系统的:直接在开始菜单里面搜索“数据源”三个字就出来了(因为win7的搜索速度很快的,哈哈),一般会搜索到两个结果,随便选择一个就行了。
2.选择用户 DSN(user DSN),添加3.在弹出的创建新用户数据源中选择Microsoft Access Driver(*.mdb),点击确认
4.在弹出的新对话框中输入数据源名和描述,数据源名很重要在后面的连接中要用到
5.输完数据源名和描述后,选择数据源,找到你用access创建的数据库名称以mdb结束的文件,点击确认即可
第二步:在matlab中连接并读取数据
实现这个有两种方法,可以使用database工具箱(即图形化界面工具)或者代码编程的方式。如果使用图形化界面工具访问,只需在Matlab命令行下输入querybuilder即可弹出图形化界面访问工具。至于图形化界面工具就不多说了,下面介绍编程的方式:
% 这里先假设在以上第一步的第4小步中输入的数据源名为dbtoolboxdemo,
% 而在第5小步中用access创建的数据库的名称为MyData(即
% 后缀名为.mdb的文件,这里这个文件假设全称为MyData.mdb)
% 注意这里一定要使用数据源名才可以,不能使用数据库名
connA=database('dbtoolboxdemo','','')
% Check the database status.
% Open cursor and execute SQL statement.
cursorA=exec(connA,'select name from MyData');
% Fetch the first 10 rows of data.
cursorA=fetch(cursorA,2)
% Display the data.
AA=cursorA.Data
% 注意,此时得到的数据是cell的数据类型的数据,比喻matlab输出的数据如下:AA=[1]
% 如果想得到一般的数据,可以这样B=AA{1,1}(注意,这里是大括号‘{',不是'[')
% 当然,cell类型动能很强大的,可以看看它的具体使用
% Close the cursor and the connection.
close(cursorA)
close(connA)