- PR -

ADO.netからAccessのテーブルのアクセス権限の確認方法について

1
投稿者投稿内容
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 2007-12-28 13:04
sinhと申します。

現在VB.net2005のADO.netを利用して、Accessの内容を表示するツールを作成しています。

その処理の中で、
-------------------------------------------------------------------------
1.接続文字列を
「Provider=Microsoft Jet 4.0 OLE DB Provider;Data Source=C:\\\\新規Microsoft Office Access アプリケーション.mdb」
としてAccessへ接続
2.DbConnectionクラスのGetSchemaメソッドからテーブル一覧を取得
3.2の一覧を表示したUI上でテーブルを選択
4.選択したテーブルの内容をDbDataAdapterクラスのFillメソッドによってDataGridViewへ表示
-------------------------------------------------------------------------
としていますが、
Accessの中の"SYSTEM TABLE"であるMSysACEs,MSysObjectsなどを上記の手順で取得しようとすると手順4でOleDbExceptionが発生し、
「MSysACEs' の読み取り権限がないので、レコードを読み取ることができません。」
が表示されます。

ローカルのVB.netアプリから、ローカルのAccessのSYSTEM TABLEの内容は表示できないのでしょうか?

また、DbConnectionクラスのGetSchemaメソッドでテーブル一覧を取得するときに
テーブルのアクセス権限を確認する方法は無いでしょうか?


以上、よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)