.mdb
を使用して Access データベース ( )にアクセスしようとしていますpyodbc
。
うまく接続できます—</p>
connection = pyodbc.connect(driver='{Microsoft Access Driver (*.mdb)}', dbp=path, pwd=password)
しかし、クエリMSysObjects
を実行してそのテーブルのリストを取得することはできません—</p>
cursor = connection.cursor()
cursor.execute('select * from MSysObjects where Type=1 and Flags=0')
</p>
Record(s) cannot be read; no read permission on 'MSysObjects'. (-1907) (SQLExecDirectW)
ブラウズすると、データベースが「保護」されていることが原因のようです。
Access を実行して変更できません。これをプログラムで解決できる場所はありますか? データベースのユーザーなどを知る必要がありますか?
Visual Basic で回避策を見たことがあります — Python でそれを適応させる方法はありますか? 別のライブラリ(OLEDB)が必要だと思います。
ありがとう!