'Connection' object has no attribute 'exec_driver_sql'
根据您提供的信息,我不能确定您在使用哪种 Python 数据库包连接数据库和执行 SQL 语句。不过,可以给您提供一个示例代码:
Copy Code
import pyodbc
# 建立数据库连接
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server_name>;DATABASE=<db_name>;UID=<user_id>;PWD=<password>')
# 创建一个游标对象
cursor = cnxn.cursor()
# 执行 SQL 查询语句,获取表数据
cursor.execute('SELECT * FROM <table_name>')
# 获取查询结果,可以通过 fetchall() 方法获取所有记录,或者通过 fetchone() 方法获取一条记录
rows = cursor.fetchall()
# 处理查询结果
for row in rows:
print(row)
# 关闭游标和数据库连接
cursor.close()
cnxn.close()
要解决这个问题,sqlalchemy 先不管你用的版本问题,你需要使用 create_engine 函数的第二个参数指定要使用的数据库驱动,案例:
from sqlalchemy import create_engine
import pymysql
# 指定连接数据库的地址、端口,以及要连接的数据库名称
DB_URL = 'mysql+pymysql://username:password@localhost:3306/testdb'
# 指定要使用的数据库驱动
engine = create_engine(DB_URL, create_engine_kwargs={'connect_args': {'charset': 'utf8'}})
原理就是将 ‘pymysql’ 指定为要使用的数据库驱动,以避免出现错误。另外,可以使用 connect_args 参数传递连接数据库的其他选项,例如指定字符编码等。之后,就可以使用 engine 连接并操作数据库了。如果还报错,那就你把我给的案例代码去掉还原你自己的代码,只需要把sqlalchemy 版本降低几个版本,多试试找到最合适的版本