【问题标题】:Connect to Access database from matlab从 matlab 连接到 Access 数据库
【发布时间】:2014-03-04 15:55:11
【问题描述】:

我试图按照 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);

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

【问题讨论】:

    标签: matlab ms-access


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

    好的,我还没有深入了解,但是通过设置首选项,逐步检索数据对我有用:

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

    @Daniel 的回答也可以正常工作,但很难以这种方式获取列标题(如果您知道方法,请告诉我,我尝试使用另一个 sql 查询,但如果对我不起作用)...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多