3

Matlab を使用して、Access データベース内のすべてのテーブルの一覧を取得しようとしています。

私はこれまで actxobject を使用しており、データベースに対してクエリを正常に実行できますが、ここで読んだすべてのメソッドは失敗しました。

「MSysObjects に対する読み取り権限がありません」というエラー メッセージが常に表示されます。クエリは Access プログラム内で正常に実行されますが、プログラムの実装ではクエリをそこに保存できません。

だから、私の質問は: Matlab を介して Access データベースのすべてのテーブルを一覧表示する方法はありますか?

4

1 に答える 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'
于 2010-06-23T14:27:45.460 に答える