从matlab连接到Access数据库

时间:2014-03-04 15:55:11

标签: matlab ms-access

我试图通过matlab文档中给出的示例

从matlab连接到Access数据库
1 setdbprefs('DataReturnFormat','cellarray')
2 url = [['jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DSN='';DBQ='] dbpath];
3 con = database('','','','sun.jdbc.odbc.JdbcOdbcDriver', url);
4 sql = ['select * from ' table_name] ;
5 cursor = exec(con,sql);
6 cursor = fetch(cursor);
7 data.data = cursor.data;

当我从表A请求数据时,在第6行出现以下错误,错误消息为:

Error using cell
Size inputs must be integers.

Error in cursor/fetch (line 329)
                                    outCursor.Data =
                                    cell(rowLimit,
                                    numberOfColumns);

我尝试从同一个数据库中的其他表中获取数据,它没有问题。可能是什么问题?

2 个答案:

答案 0 :(得分:1)

请参阅文档。必须使用连接和查询两个参数调用fetch,并返回结果,而不是游标。

答案 1 :(得分:0)

好的,我还没有达到目的的底部,但通过设置首选项,我可以逐步检索数据:

setdbprefs('FetchInBatches', 'yes');
setdbprefs('FetchBatchSize', '2');

@ Daniel的答案也可以正常工作,但很难以这种方式获取列标题(如果你知道怎么做,请告诉我,我尝试使用另一个sql查询,但如果不适合我)...