Flask-SQLAlchemy无法连接SQL Server

当使用Flask-SQLAlchemy尝试连接SQLServer数据库时,可能会遇到'未发现数据源名称并且未指定默认驱动程序'的错误。这个错误通常由于缺少对驱动程序的指定导致。解决方法是在DB_URI配置中明确指定驱动程序,例如使用'mssql+pyodbc'并指定'SQL+Server+Native+Client+11.0'作为驱动。在config.py中设置DB_URI,并在main.py中导入配置,确保正确初始化Flask应用,这样就能成功建立数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flask-SQLAlchemy 连接 SQL Server 时有可能会出现“未发现数据源名称并且未指定默认驱动程序 ”的异常,不能正确连接数据库,异常信息:

sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) (‘IM002’, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)’)

查了一下午资料,相关资料太少,不过终于搞定,就是因为没有指定驱动程序导致,可以通过如下方式指定驱动程序,相关配置如下:

# config.py
......

DB_URI = 'mssql+pyodbc://{}:{}@{}:{}/{}?driver=SQL+Server+Native+Client+11.0'.format(USERNAME, PASSWORD, HOST_NAME, PORT, DATABASE)
SQLALCHEMY_DATABASE_URI = DB_URI

......

在主程序中导入该配置即可

# main.py
from flask import Flask
import config # 导入上述配置文件

app = Flask(__name__)
app.config.from_object(config)
db.init_app(app)


if __name__ == '__main__':
	app.run(host='0.0.0.0', port=5000, debug=True)

至此即可正常使用 Flask-SQLAlchemy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值