2010-06-23 2 views
3

J'essaie d'obtenir une liste de toutes les tables d'une base de données Access en utilisant Matlab. Je suis jusqu'à présent en train d'utiliser un actxobject et peux exécuter des requêtes avec succès sur la base de données, mais toutes les méthodes que j'ai lues here ont échoué.Obtenir les noms des tables de base de données Access avec Matlab

Je reçois systématiquement le message d'erreur 'Aucune autorisation de lecture sur MSysObjects'. La requête s'exécute correctement dans le programme Access, mais l'implémentation de mon programme ne me permet pas d'y stocker la requête. Donc, ma question est: Y a-t-il un moyen de lister toutes les tables d'une base de données Access via Matlab?

Répondre

5

Tenir compte de ce code:

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

et le résultat est:

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

qui semble avoir fait le tour. Merci! – Nubsis

Questions connexes