使用Matlab获取Access数据库表的名称
问题描述:
我想要使用Matlab获取Access数据库中所有表的列表。使用Matlab获取Access数据库表的名称
我到目前为止使用的是一个actxobject,可以成功运行对数据库的查询,但是我读取的所有方法here都失败了。
我始终得到错误消息'MSysObjects没有读取权限'。查询在Access程序中运行正常,但是我的程序的实现不允许我在那里存储查询。
所以,我的问题是:有没有办法通过Matlab列出Access数据库的所有表?
答
考虑以下代码:
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'
这似乎已经完成了帽子戏法。谢谢! – Nubsis 2010-06-24 14:34:56