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

使用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' 
+0

这似乎已经完成了帽子戏法。谢谢! – Nubsis 2010-06-24 14:34:56