当前位置: 首页 > 知识库问答 >
问题:

将Python连接到Access 2016:“数据库...需要更新版本的Microsoft Access”

轩辕远
2023-03-14

尝试创建连接时遇到错误:

导入pyodbc

conn=pyodbc.connect(r'Driver={Microsoft Access Driver(*.mdb,*.accdb)};dbq=c:\users\tejas\documents\first.accdb;')cursor=conn.cursor()

错误:Traceback(最近的调用为last):文件“C:\users\tejas\eclipse-workspace\helloworld\db\insert.py”,第3行,位于conn=pyodbc.connect(r'Driver={Microsoft Access Driver(*.mdb,*.accdb)};dbq=c:\users\tejas\documents\first.accdb;')pyodbc.错误:('HY000','[HY000][Microsoft][ODBC Microsoft Access Driver]试图打开的数据库需要较新版本的Microsoft Access。(-1073)(SQLDriverConnect);[HY000][Microsoft][ODBC Microsoft Access Driver]试图打开的数据库需要较新版本的Microsoft Access。(-1073)')

我也经历过其他类似的问题,尝试过各种选择,但到目前为止都没有运气。如有任何帮助,不胜感激。

共有1个答案

冯流觞
2023-03-14

[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数据库文件,该文件已被修改以包括新的“大数字”(BIGINT)类型的列。

 类似资料:
  • 我有一些集成测试,为此我使用Testcontainers。但我突然意识到,当我的应用程序数据库docker容器关闭时,所有其他测试(不包括使用Testcontainers的集成测试)都失败了(甚至是Spring Boot Initializer生成的

  • 问题内容: 我是Java的新手,甚至还不是Java数据库连接的新手。当我将它放在Main类中时,我设法创建了一个数据库连接并查询了一个表。现在,将其移到名为Connection的新类中,我遇到了错误: 我收到一条错误消息,说找不到符号。符号:方法createStatement()和con = DriveManager .....不可比拟的类型。 有人可以帮忙吗? 另外,最好的做法是将连接放在这样的

  • 在使用Node.js之前,我只使用过PHP。在使用MYSQL时,我能够在PHP中做的是,我可以将database.PHP文件包含在我想要执行查询的文件中。 在Node.js中似乎不是这样。这是我的database.js文件 那么我需要在我的文件login.js中这样做 但是,当我尝试运行时,我发现db.query不是一个函数。 这是为什么?不应该更复杂还是应该?

  • 本文向大家介绍C#连接数据库和更新数据库的方法,包括了C#连接数据库和更新数据库的方法的使用技巧和注意事项,需要的朋友参考一下 对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。为什么这样来分呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数据进行修改。这篇文章将接着阐述更新数据。 更新数据库信息

  • 我从这个developer.android网站下载并安装了带有android SDK for windows的Eclipse ADT。当我尝试创建AVD设备时,错误显示Android SDK的我从菜单栏打开然后尝试设置SDK位置,但显示错误,此Android SDK需要ADT 23.0.0或更高版本。当前版本为22.6。请将ADT更新至最新版本。如何更新?帮助我创建android项目。

  • 问题内容: 您如何连接到Java中的MySQL数据库? 当我尝试时,我得到 要么 要么 问题答案: 是一种相当古老的做事方式。更好的方法是通过查找已经为您配置的应用服务器容器来获取一个: 或直接从数据库驱动程序实例化和配置一个: 然后从中获取连接,如上: