在 python 中打开 Access 数据库时出错
Posted
技术标签:
【中文标题】在 python 中打开 Access 数据库时出错【英文标题】:Error in opening an Access database in python 【发布时间】: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 天前提出的问题重复?? 我试图为未来的读者指出这个问题的更完整答案。 (请参阅我对答案的评论。)我重新打开了这个问题。 【参考方案1】:您运行的帐户不是管理员。它需要根据消息(also described here)进行注册表访问
需要访问注册表才能找到 MS Access 的 ODBC 驱动程序。
【讨论】:
对于未来的读者:这只是错误消息的一种可能原因,而且是相对不常见的一种。其他原因和解决方案在另一个答案here 中进行了概述。【参考方案2】:尝试取消选中属性:文件属性中的只读框。
【讨论】:
以上是关于在 python 中打开 Access 数据库时出错的主要内容,如果未能解决你的问题,请参考以下文章
将 MySQL 数据导入 Access 2010 时出现问题
在 Instruments 中进行分析时出现 SIGSEGV(Bad Memory Access)错误
Access 2007 不会打开 accdb 文件,除非它被重命名