使用Matlab获取Access数据库表名

3
我正在尝试使用Matlab获取Access数据库中所有表的列表。
目前,我正在使用actxobject并可以成功地对数据库运行查询,但是我读到的所有方法都失败了here
我始终收到错误消息“MSysObjects上没有读取权限”。查询在Access程序内部运行良好,但我的程序实现不允许我在那里存储查询。
所以,我的问题是:是否有任何方法可以通过Matlab列出Access数据库中的所有表?
1个回答

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') );

结果是:

>> tableNames'
ans = 
    'Categories'
    'Customers'
    'Employees'
    'Order Details'
    'Orders'
    'Products'
    'Shippers'
    'Suppliers'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接