您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Connect to MSSQL Database using Flask-SQLAlchemy

Connect to MSSQL Database using Flask-SQLAlchemy

所以我遇到了一个非常类似的问题,通过做 跟随。 遵循[sql炼金术] [文件](http://docs.sqlalchemy.org/en/latest/dialogs/mssql.html#模块- sqlalchemy.dialones.mssql语言.pyodbc)我发现我可以使用我的pyodbc连接 字符串如下:

# Python 2.x
import urllib
params = urllib.quote_plus("DRIVER={sql Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)

# Python 3.x
import urllib
params = urllib.parse.quote_plus("DRIVER={sql Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)


# using the above logic I just did the following
params = urllib.parse.quote_plus('DRIVER={sql Server};SERVER=HARRISONS-THINK;DATABASE=LendApp;Trusted_Connection=yes;')
app.config['sqlALCHEMY_DATABASE_URI'] = "mssql+pyodbc:///?odbc_connect=%s" % params
@H_419_4@

This then caused an additional error because I was also using Flask-Migrate and apparently it doesn’t like % in the connection URI. So I did some more digging and found this post. I then changed the following line in my ./migrations/env.py@H_419_4@ file

From:

from flask import current_app
config.set_main_option('sqlalchemy.url',
                   current_app.config.get('sqlALCHEMY_DATABASE_URI'))
@H_419_4@

To:

from flask import current_app
db_url_escaped = current_app.config.get('sqlALCHEMY_DATABASE_URI').replace('%', '%%')
config.set_main_option('sqlalchemy.url', db_url_escaped)
@H_419_4@

在做了所有这些之后,我能够进行迁移,一切看起来都像 它现在工作正常。

Python 2022/1/1 18:32:34 有223人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶