【发布时间】:2020-07-30 11:13:30
【问题描述】:
我按照this 设置了 Windows 身份验证。不知道它是否有效,因为现在有错误。
现在我有这个:
from flask import Flask
from flask_sqlalchemy import sqlalchemy
app = Flask(__name__, static_url_path='', static_folder='static')
app.config['SQLACHLEMY_DATABASE_URI'] = 'mssql://LAPTOP-GNBBOVKT/SQLEXPRESS/OIS?trusted_connection=yes'
db = sqlalchemy(app)
class Country(db.Model):
__tablename__ = 'example'
id = db.Column('Country_ID', db.Integer, primary_key=True)
code = db.Column('Country_Code', db.String)
@app.route('/test')
def test():
allCountries = Country.query.all()
return jsonify(allCountries)
但我得到了错误:
TypeError: 'module' 对象不可调用
atdb = sqlalchemy(app)
编辑:通过将 sqlalchemy 更改为 SQLAlchemy 来修复错误,但现在我得到了
UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
可能是因为它没有连接到数据库。
编辑:最终修复它的是导入 pyodbc 并更改 URI 行:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://@' + 'LAPTOP-GNBBOVKT\\SQLEXPRESS' + '/' + 'OIS' + '?trusted_connection=yes&driver=ODBC+Driver+13+for+SQL+Server'
【问题讨论】:
-
您使用的是用户名和密码吗?
-
我希望它与此处指定的 Windows 身份验证一起使用:stackoverflow.com/a/24085353/12636797
-
在您提到的帖子中,请查看 DoloMike 对已接受答案的评论。
标签: sql-server flask sqlalchemy flask-sqlalchemy