使用pypyodbc无法访问SQLite3数据库的问题求助
解决方案
优先方案:用Python原生SQLite3库直接连接
别折腾ODBC了,Python自带的sqlite3模块是连接SQLite数据库的最优选择,完全适配树莓派,无需额外装驱动:
import sqlite3 # 替换成你的.db文件路径 conn = sqlite3.connect('/home/pi/your_database.db') cursor = conn.cursor() # 示例:执行查询 cursor.execute("SELECT * FROM your_table") result = cursor.fetchall() # 操作完成后关闭连接 conn.close()
如果非要用ODBC连接SQLite
1. 安装依赖驱动
在树莓派终端执行:
sudo apt update sudo apt install unixodbc unixodbc-dev libsqlite3odbc
2. 确认驱动注册
执行命令检查驱动是否已被识别:
odbcinst -q -d
要是看不到SQLite3 ODBC Driver,手动编辑/etc/odbcinst.ini文件(没有就创建):
[SQLite3 ODBC Driver] Description=SQLite3 ODBC Driver Driver=/usr/lib/arm-linux-gnueabihf/libsqlite3odbc.so Setup=/usr/lib/arm-linux-gnueabihf/libsqlite3odbc.so UsageCount=1
3. 修改连接代码
调整pypyodbc的连接字符串:
import pypyodbc conn = pypyodbc.connect("Driver=SQLite3 ODBC Driver;Database=/path/to/your/database.db;")
关于你尝试过的其他方案说明
- Microsoft SQL Server:官方不支持在ARM架构的树莓派上安装MS SQL Server,找不到msodbcsql18库是正常的,不用再试了。
- FreeTDS ODBC:安装后得重启终端才能识别
tsql命令,或者直接用完整路径/usr/bin/tsql执行。要是还是不行,重新安装一遍:
不过你已经转成SQLite数据库了,这个方案其实没必要再折腾。sudo apt install freetds-bin freetds-dev tdsodbc
内容的提问来源于stack exchange,提问作者Frasher Gray
相关产品推荐
相关产品推荐

