python - 连接到数据库与pyodbc - 不工作 [英] python - connecting to a database with pyodbc - not working

查看:1635
本文介绍了python - 连接到数据库与pyodbc - 不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用以下连接字符串连接到Access 2007数据库。

  conn = pyodbc.connect Driver = {Microsoft Access Driver(* .mdb,* .accdb)}; DBQ =< C:\Users\JSeinfeld\Desktop\Backup databases\Database_6.7.accdb> ;;)

我收到此错误:


跟踪(最近一次调用):


中的文件,第1行
conn = pyodbc.connect(Driver = {Microsoft
Access Driver(* .mdb,
* .accdb)}; DBQ =;)



错误:('HY000',[HY000]
[Microsoft] [ODBC Microsoft Access
驱动程序]一般错误无法打开
注册表项临时(易失性)Ace
进程0x167c的DSN线程0x1568
DBC 0x1c67a5c



Jet'。(63)(SQLDriverConnectW);
[HY000] [Microsoft] [ODBC Microsoft
访问驱动程序]一般错误无法
open注册表项临时(易失性)
进程0x167c的Ace DSN线程
0x1568 DBC 0x1c67a5c



Jet。 (63)。 [HY000] [Microsoft] [ODBC
Microsoft Access驱动程序]不是有效的
文件名。 (-1044); [HY000]
[Microsoft] [ODBC Microsoft Access
驱动程序]一般错误无法打开
注册表项临时(易失性)Ace
进程0x167c的DSN线程0x1568
DBC 0x1c67a5c



Jet'。 (63)。 [HY000] [Microsoft] [ODBC
Microsoft Access驱动程序]一般错误
无法打开注册表项临时
(易失性)进程0x167c的Ace DSN
线程0x1568 DBC 0x1c67a5c

Jet'。 (63)。 [HY000] [Microsoft] [ODBC
Microsoft Access驱动程序]不是有效的
文件名。 (-1044))


这里有另一个问题,但是有一个32/64位兼容性问题没有似乎是一个很好的答案这个问题,但希望有人可以帮助我连接到我的数据库,因为我不知道任何其他方式来查询或写入数据到Access 2007与python。 p>

感谢

解决方案

有同样的问题 - 转义访问位置中使用的反斜杠db



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



工作方式为



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



给我错误
Jet'。(63); [HY000] [Microsoft] [ODBC Microsoft Access驱动程序]不是有效的文件名。 (-1044))



希望有帮助..


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=<C:\Users\JSeinfeld\Desktop\Backup databases\Database_6.7.accdb>;")

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..

这篇关于python - 连接到数据库与pyodbc - 不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆