python - 如何在 python 和 SQL 中使用 Microsoft Access 数据库文件
问题描述
我已经苦苦挣扎了好几个小时,试图弄清楚如何连接数据库然后使用它。到目前为止,我已经连接它,但是一旦我想执行“选择”,它就会显示文件不是数据库的错误,即使我在 MS Access 中创建了文件,然后将文件重命名为 .db . 这是代码,数据库名称是TestDB。
import sqlite3 as db
from sqlite3 import Error
def create_connection(db_file):
""" create a database connection to a SQLite database """
conn = None
try:
conn = db.connect(db_file)
print(db.version)
except Error as e:
print(e)
finally:
if conn:
print('Got connected')
dbCursor= conn.cursor()
dbCursor.execute('select * from Table1')
if __name__ == '__main__':
create_connection(r"TestDB.db")
解决方案
我在工作中经常使用 mdb 文件,这是我的实现:
import pyodbc
DRIVER="{Microsoft Access Driver (*.mdb)}"
con = pyodbc.connect('DRIVER={};DBQ={}'.format(DRIVER,'path/to/accessfile'))
mdbcon = con.connect()
cursor = mdbcon.cursor()
您放入的DRIVER
内容因安装的内容而异。检查您的 ODBC 驱动程序以查看您安装了哪个驱动程序。你的python安装和你的access安装都是32位还是64位也很重要,过去不匹配给我带来了很多问题。
推荐阅读
- python - “ImportError:无法从‘秘密’中导入名称‘密钥’”
- reactjs - 如何在反应中使函数动态化?
- angular - 刷新后注销操作未使用 ngrx 调度。在刷新工作正常之前
- excel - 如何使用vba打开名称更改的excel工作簿
- javascript - 过滤2个数组看是否有重复
- sql - SQL:仅对不同的值求和
- python - 使用 matplotlib 绘制堆积条形图,保持 pandas 数据框的顺序,因为它使用 python
- nuget - Nuget 错误:解析值时遇到意外字符:<。路径 '',第 0 行,第 0 位置
- highcharts - Highchart 放大后工具提示中显示不同的点以显示 simmer 值
- angular - 发送表单数据类型请求时出现 400 HTTP 错误