Microsoft Access 数据库引擎找不到输入表或查询

Posted

技术标签:

【中文标题】Microsoft Access 数据库引擎找不到输入表或查询【英文标题】:Microsoft Access database engine cannot find the input table or query 【发布时间】:2020-12-11 12:00:38 【问题描述】:

我正在尝试与 Microsoft Office 建立连接并运行查询,但它显示错误

这是我的代码:

import pyodbc

conn = pyodbc.connect(r'DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=E:\Python\Database\att2000.accdb;')
cursor = conn.cursor()
cursor.execute("SELECT CHECKINOUT FROM att2000 Where CHECKTYPE = O")

for row in cursor.fetchall():
    print (row)

这是错误:

Error is occurring while executing the query
----> 5 cursor.execute("SELECT CHECKINOUT FROM att2000 Where CHECKTYPE = O")
      6 
      7 for row in cursor.fetchall():

ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Access database engine cannot find the input table or query 'att2000'. Make sure it exists and that its name is spelled correctly. (-1305) (SQLExecDirectW)")

【问题讨论】:

att2000 是数据库文件的名称。显然,它不包含同样名为att2000 的表或视图。在 Microsoft Access UI 中打开数据库并验证表/视图名称是什么。 【参考方案1】:

我猜你混淆了文件名和表名。

试试:

cursor.execute("Select * From CHECKINOUT Where CHECKTYPE = O")

【讨论】:

以上是关于Microsoft Access 数据库引擎找不到输入表或查询的主要内容,如果未能解决你的问题,请参考以下文章

JSP - Microsoft ODBC - Microsoft Access 驱动程序找不到文件“(未知)”

Microsoft jet 数据库引擎找不到表

Microsoft Access 错误找不到 .mdb 但数据库是 .accdb

Microsoft Jet 数据库引擎找不到对象“....”

Access 数据库引擎找不到对象 - 对象是 Excel 命名范围

Microsoft Jet 数据库引擎找不到输入表或查询或者找不到文件