使用Matlab获取Access数据库表的名称

mah*_*hju 3 matlab ms-access adodb

我正在尝试使用Matlab获取Access数据库中所有表的列表.

我到目前为止使用actxobject并且可以成功运行对数据库的查询,但我在这里阅读的所有方法都失败了.

我一直收到错误消息'没有MSysObjects的读取权限'.查询在Access程序中运行正常,但我的程序的实现不允许我在那里存储查询.

所以,我的问题是:有没有办法通过Matlab列出Access数据库的所有表?

Amr*_*mro 5

考虑以下代码:

conn = actxserver('ADODB.Connection');
connString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Nwind.mdb';
conn.Open(connString);

rs = conn.OpenSchema('adSchemaTables').GetRows;
tableNames = rs(3, ismember(rs(4,:),'TABLE') );
Run Code Online (Sandbox Code Playgroud)

结果是:

>> tableNames'
ans = 
    'Categories'
    'Customers'
    'Employees'
    'Order Details'
    'Orders'
    'Products'
    'Shippers'
    'Suppliers'
Run Code Online (Sandbox Code Playgroud)