以下是配置:1.Python-Win32上的Python 3.8.1(tags / v3.8.1:1b293b6,2019年12月18日,23:11:46)[MSC v.1916 64位(AMD64)]2.MS Access 2016 MSO(16.0.12624.20348)64位3.Microsoft Access驱动程序(* .mdb,*。accdb)16.00.4513.10004.已安装Microsoft Access Database Engine 2016可再发行]
在尝试创建连接时遇到错误:
导入pyodbc
conn = pyodbc.connect(r'Driver = {Microsoft Access驱动程序(* .mdb,* .accdb)}; DBQ = C:\ Users \ tejas \ Documents \ First.accdb;')cursor = conn.cursor()
错误:追溯(最近一次通话):文件“ C:\ Users \ tejas \ eclipse-workspace \ HelloWorld \ DB \ Insert.py”,第3行,在conn = pyodbc.connect(r'Driver = {Microsoft Access驱动程序(* .mdb,* .accdb)}; DBQ = C:\ Users \ tejas \ Documents \ First.accdb;')pyodbc.Error :(“ HY000”,“ [HY000] [Microsoft] [ODBC Microsoft Access驱动程序]您尝试打开的数据库需要较新版本的Microsoft Access。(-1073)(SQLDriverConnect); [HY000] [Microsoft ] [ODBC Microsoft Access驱动程序]您尝试打开的数据库需要较新版本的Microsoft Access。(-1073)')
我经历了其他类似的问题,尝试了各种选择,但到目前为止还没有运气。任何帮助,将不胜感激。
[[Microsoft] [ODBC Microsoft Access驱动程序]您尝试打开的数据库需要较新版本的Microsoft Access。
运行此代码:
# path to the file you want to check
file_path = r"C:\Users\Public\my_db.accdb"
with open(file_path, "rb") as f:
type_byte = f.read(21)[20]
print(f"file type {type_byte}")
产生的“文件类型5”,确认它是一个Access 2016数据库文件,已被修改为包括新"Large Number" (BIGINT) type的列。
不幸的是,Access 2016数据库引擎可再发行组件尚未更新以使用这些文件,因此,如果我们尝试,目前ACE ODBC驱动程序将抛出上述错误。
我不知道Access 2016 Runtime是否已更新为可以使用这些文件。我对此表示怀疑,但是如果有的话,[