python - 无法从 Linux 连接到 Access 数据库
问题描述
我正在尝试连接到我的 ubuntu 18 上的访问数据库,但我不能
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 访问数据库。
推荐阅读
- javascript - 将 dist 文件夹部署到 heroku
- android - 在不使用 LiveData 的情况下从 DialogFragment 调用函数到 Fragment
- javascript - 打字稿的Visual Studio Code扩展开发问题
- java - Android/Java:如何在 ScrollView 中使用 ConstraintLayout,在导航栏中的 Fragment 中?
- node.js - node.js 在 Heroku 启动时反应应用程序失败
- svelte - svelte kit 中没有加载功能的访问参数
- mysql - 访问缓存比访问数据库慢
- python - 在 for 循环的每个循环中分配标签
- azure - 部署的 REST API 不显示在 Azure 中
- vpn - 当 IPSEC vpn 设置中未设置 DF 时,内核不会对数据包进行分段