Flask-SQLAlchemy无法连接SQL Server

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连接MySQL数据库使用Flask-SQLAlchemy,首先需要安装pymysqlflask-sqlalchemy库。可以使用以下命令安装flask-sqlalchemy: ``` pip install flask-sqlalchemy ``` 在安装成功后,可以按照以下步骤进行flask-sqlalchemy连接MySQL数据库的配置: 1. 在Flask应用程序中导入必要的库和模块: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy ``` 2. 创建Flask应用程序对象: ```python app = Flask(__name__) ``` 3. 配置MySQL数据库连接参数: ```python app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost:port/database_name' ``` 其中,username是你的MySQL用户名,password是你的MySQL密码,localhost是MySQL服务器地址,port是MySQL服务器端口,database_name是要连接的数据库名。 4. 创建SQLAlchemy对象并将应用程序对象与数据库对象关联: ```python db = SQLAlchemy(app) ``` 5. 创建模型类来映射数据库表: ```python class Article(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) content = db.Column(db.Text, nullable=False) ``` 在这个例子中,创建了一个名为Article的模型类,它有id、title和content三个字段,分别映射数据库表的id、title和content列。 6. 在应用程序中使用数据库: ```python @app.route('/') def index(): articles = Article.query.all() return render_template('index.html', articles=articles) ``` 在这个例子中,使用Article.query.all()查询了所有的文章,并将它们传递给模板渲染。 7. 最后,运行应用程序: ```python if __name__ == '__main__': app.run() ``` 这样就完成了Flask-SQLAlchemy连接MySQL数据库的配置和使用。通过以上步骤,你可以在Flask应用程序中使用SQLAlchemy来进行数据库的增删改查操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值