用matlab讀取 .mdb文件一般需要分兩步:
第一步:為 .mdb文件創(chuàng)建一個數(shù)據(jù)源(使用ODBC來連接)
1.windows xp操作系統(tǒng)的:在命令行中輸入odbcad32,打開odbc資源管理器(這是利用控制臺的方法,具體步驟是:控制面板->管理工具->數(shù)據(jù)源(ODBC))
windows 7操作系統(tǒng)的:直接在開始菜單里面搜索“數(shù)據(jù)源”三個字就出來了(因為win7的搜索速度很快的,哈哈),一般會搜索到兩個結(jié)果,隨便選擇一個就行了。
2.選擇用戶 DSN(user DSN),添加3.在彈出的創(chuàng)建新用戶數(shù)據(jù)源中選擇Microsoft Access Driver(*.mdb),點(diǎn)擊確認(rèn)
4.在彈出的新對話框中輸入數(shù)據(jù)源名和描述,數(shù)據(jù)源名很重要在后面的連接中要用到
5.輸完數(shù)據(jù)源名和描述后,選擇數(shù)據(jù)源,找到你用access創(chuàng)建的數(shù)據(jù)庫名稱以mdb結(jié)束的文件,點(diǎn)擊確認(rèn)即可
第二步:在matlab中連接并讀取數(shù)據(jù)
實(shí)現(xiàn)這個有兩種方法,可以使用database工具箱(即圖形化界面工具)或者代碼編程的方式。如果使用圖形化界面工具訪問,只需在Matlab命令行下輸入querybuilder即可彈出圖形化界面訪問工具。至于圖形化界面工具就不多說了,下面介紹編程的方式:
% 這里先假設(shè)在以上第一步的第4小步中輸入的數(shù)據(jù)源名為dbtoolboxdemo,
% 而在第5小步中用access創(chuàng)建的數(shù)據(jù)庫的名稱為MyData(即
% 后綴名為.mdb的文件,這里這個文件假設(shè)全稱為MyData.mdb)
% 注意這里一定要使用數(shù)據(jù)源名才可以,不能使用數(shù)據(jù)庫名
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
% 注意,此時得到的數(shù)據(jù)是cell的數(shù)據(jù)類型的數(shù)據(jù),比喻matlab輸出的數(shù)據(jù)如下:AA=[1]
% 如果想得到一般的數(shù)據(jù),可以這樣B=AA{1,1}(注意,這里是大括號‘{',不是'[')
% 當(dāng)然,cell類型動能很強(qiáng)大的,可以看看它的具體使用
% Close the cursor and the connection.
close(cursorA)
close(connA)