pyodbc和ms access 2010连接

2024-05-16 18:59:11 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用pyodbc访问我的Microsoft access 2010数据库(accdb)? 之前,我使用了一个mdb数据库,它可以很好地处理连接字符串:

ODBC_CONN_STR = 'DRIVER={Microsoft Access Driver (*.mdb)};DBQ=%s;' % ACCESS_DATABASE_FILE 

现在我用:

import pyodbc
ACCESS_DATABASE_FILE = "PSA_TEST.accdb"
ODBC_CONN_STR = 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%s;' % ACCESS_DATABASE_FILE
conn = pyodbc.connect(ODBC_CONN_STR)

我得到的错误是: pyodbc。错误:('HY000','[HY000][Microsoft][ODBC Treiber für Microsoft Access]Kein zulässiger Dateiname。(-1044)(SQLDriverConnect)')

翻译成“文件名不可接受”。 我找到了一个相关的问题,但答案对我不起作用(Connecting to MS Access 2007 (.accdb) database using pyodbc)。我根据以下输出使用32位python:

python -c 'import struct; print struct.calcsize("P") * 8'

和MS访问32位。

[编辑]

  • 以防万一,我用os.path.isfile(ACCESS_DATABASE_FILE)检查文件是否确实存在
  • 文件可以用访问权限打开
  • 用新的连接字符串打开前面的mdb文件会给出相同的错误消息,afaik不是预期的行为

Tags: 文件字符串数据库access错误conndatabasemicrosoft