【问题标题】:Error in opening an Access database in python在 python 中打开 Access 数据库时出错
【发布时间】:2012-07-13 15:38:02
【问题描述】:

我是 python 编程的新手,我想编写一个 python 程序来读写数据库中的数据。

连接代码如下:

DNS='catalog'
DRV = '{Microsoft Access Driver (*.mdb)}'
conn = pyodbc.connect('DRIVER=%s;DSN=%s;' % (DRV,DNS))

catalog 是 DSN 名称。

我收到以下错误:

Traceback (most recent call last):
File "C:\Python27\exampes\xxx.py", line 8, in <module>
conn = pyodbc.connect('DRIVER=%s;DSN=%s;' % (DRV,DNS))
Error: ('01000', "[01000] [Microsoft][ODBC Microsoft Access Driver]General Warning  Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x12b4 Thread 0x1544  DBC 0x567ea4 Jet'. (1) (SQLDriverConnect);
[01000] [Microsoft][ODBC Microsoft Access  Driver]General Warning Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x12b4 Thread 0x1544 DBC 0x567ea4 Jet'. (1)"

谁能帮帮我..?

【问题讨论】:

  • @Gord Thompson :我想知道两年前提出的问题怎么可能与 7 天前提出的问题重复??
  • 我试图为未来的读者指出这个问题的更完整答案。 (请参阅我对答案的评论。)我重新打开了这个问题。

标签: python database windows ms-access pyodbc


【解决方案1】:

您运行的帐户不是管理员。它需要根据消息(also described here)进行注册表访问

需要访问注册表才能找到 MS Access 的 ODBC 驱动程序。

【讨论】:

  • 对于未来的读者:这只是错误消息的一种可能原因,而且是相对不常见的一种。其他原因和解决方案在另一个答案here 中进行了概述。
【解决方案2】:

尝试取消选中属性:文件属性中的只读框。

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多