【发布时间】:2019-01-26 08:55:09
【问题描述】:
版本
Mac OSX 10.13.6 (17G65)
AWS RDS MSSQL 实例
Select @@VERSION;Microsoft SQL Server 2017
python3 -VPython 3.7.0
pip3 show Flask-SQLAlchemy名称:Flask-SQLAlchemy V:2.3.2
pip3 show Flask-Migrate名称:Flask-Migrate V:2.2.1
config.py
>class Config(object):
"""Docstring for Config Class."""
SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'
SQLALCHEMY_DATABASE_URI = (os.environ.get('DATABASE_URL'))
.env
SECRET_KEY=SuperDuperSecretPassKey
DATABASE_URL='mssql+pyodbc://DRIVER={ODBC Driver 17 for SQL Server};SERVER=My-custom-route.a0aaa0000aaaa.us-east-1.rds.amazonaws.com;DATABASE=Databasetoconnectto;UID=JayRizzo;PWD=SuperAwesomePassword!!!'
问题:
如何在我的配置中正确设置 SQLAlchemy URL?
- 编码或解码的 URL?
- 我可以使用 URL 字符串吗?
- 必须是 DSN 吗?
注意:
我可以使用模板和 python 文件直接连接,例如 Connect to MSSQL Database using Flask-SQLAlchemy 和 even using pyodbc that I created.
但是当我使用 env 变量时,我得到的错误包括:
- 值必须是字符串配置
- 无法从字符串 '%s'" % name 解析 rfc1738 URL
- sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('IM012', '[IM012] [unixODBC][Driver Manager]DRIVER 关键字语法错误 (0) (SQLDriverConnect)') (此错误的背景:@ 987654323@)
- sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found and no default driver specified (0) (SQLDriverConnect)') (背景关于这个错误:http://sqlalche.me/e/rvf5)
我被难住了...
【问题讨论】:
标签: sql-server python-3.x flask flask-sqlalchemy flask-migrate