【问题标题】:Microsoft Access database engine cannot find the input table or queryMicrosoft Access 数据库引擎找不到输入表或查询
【发布时间】: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 中打开数据库并验证表/视图名称是什么。

标签: python ms-access pyodbc python-db-api


【解决方案1】:

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

试试:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多