Python 无法从Linux连接到Access数据库

Python 无法从Linux连接到Access数据库,python,python-3.x,ms-access,pyodbc,Python,Python 3.x,Ms Access,Pyodbc,我正试图连接到我的Ubuntu18上的access数据库,但我不能 self.con = pyodbc.connect( r'Driver={Microsoft Access Driver (*.accdb)};' r'DBQ=C:\Users\Derar\PycharmProjects\ULMS\ulms.accdb;PWD=v7WC$=3ZJ5pX?h?TM54S') self.cmd = self.con.cursor() 我得到这个错误 ''`r'DBQ=C:\Users\Derar\

我正试图连接到我的Ubuntu18上的access数据库,但我不能

self.con = pyodbc.connect(
r'Driver={Microsoft Access Driver (*.accdb)};'
r'DBQ=C:\Users\Derar\PycharmProjects\ULMS\ulms.accdb;PWD=v7WC$=3ZJ5pX?h?TM54S')
self.cmd = self.con.cursor()
我得到这个错误

''`r'DBQ=C:\Users\Derar\PycharmProjects\ULMS\ulms.accdb;PWD=v7WC$=3ZJ5pX?h?TM54S')
pyodbc.InterfaceError: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')`

看起来你正试图在Ubuntu上运行为Windows编写的代码。 看起来路径名不是POSIX样式的路径

您需要正确配置linux odbc,或者在Windows上安装python并在那里运行代码

据我所知,accdb文件没有免费的linux ODBC驱动程序。您可能需要转换数据库、使用商业软件或从Windows访问数据库。

请参见我的答案:


我相信它适用于您的场景。

您是否安装了用于Linux的Access ODBC驱动程序?(提示:默认情况下,Linux不包括Access ODBC驱动程序,而Microsoft不为非Windows平台提供Access ODBC驱动程序。)可能与此重复的是一些商业软件,这些软件可以在Linux中提供Access文件格式支持。。。配置说明如下:您显然需要复制access文件或将其装载到SMB/CIFS共享上,并相应地修改/etc/odbc.ini文件“我相信它适用于您的场景。”-不,它不适用。您的链接(-only)答案及其引用的博客文章适用于Windows环境。Microsoft不为非Windows平台生成Access ODBC驱动程序。有关详细信息,请参阅。