python连接不上数据库,python - 连接到数据库与pyodbc - 不工作

I am trying to connect to an Access 2007 database with the following connection string.

conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=;")

I get this error:

Traceback (most recent call last):

File "", line 1, in

conn = pyodbc.connect("Driver={Microsoft

Access Driver (*.mdb,

*.accdb)};DBQ=;")

Error: ('HY000', "[HY000]

[Microsoft][ODBC Microsoft Access

Driver]General error Unable to open

registry key Temporary (volatile) Ace

DSN for process 0x167c Thread 0x1568

DBC 0x1c67a5c

Jet'. (63) (SQLDriverConnectW);

[HY000] [Microsoft][ODBC Microsoft

Access Driver]General error Unable to

open registry key Temporary (volatile)

Ace DSN for process 0x167c Thread

0x1568 DBC 0x1c67a5c

Jet'. (63); [HY000] [Microsoft][ODBC

Microsoft Access Driver] Not a valid

file name. (-1044); [HY000]

[Microsoft][ODBC Microsoft Access

Driver]General error Unable to open

registry key Temporary (volatile) Ace

DSN for process 0x167c Thread 0x1568

DBC 0x1c67a5c

Jet'. (63); [HY000] [Microsoft][ODBC

Microsoft Access Driver]General error

Unable to open registry key Temporary

(volatile) Ace DSN for process 0x167c

Thread 0x1568 DBC 0x1c67a5c

Jet'. (63); [HY000] [Microsoft][ODBC

Microsoft Access Driver] Not a valid

file name. (-1044)")

There is another question like this on SO, but there was a 32/64bit compatibility issue which I do not have. There doesn't seem to be a good answer for this question, but hopefully someone can help me connect to my database because I don't know of any other way to query or write data to Access 2007 with python.

Thanks

解决方案

Had the same issue - it was a simple case of escaping the backslash used in the location of the access db

>>> conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\access\\site_be.accdb;")

worked as whereas

>>> conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\access\site_be.accdb;")

was giving me the error

Jet'. (63); [HY000] [Microsoft][ODBC Microsoft Access Driver] Not a valid file name. (-1044)")

Hope that helped..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值