使用带有Windows身份验证的Flask-SQLAlchemy将Flask应用连接到SQL Server

时间:2020-04-17 02:53:51

标签: sql-server flask sqlalchemy flask-sqlalchemy

我遵循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:“模块”对象不可调用at db = 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'

1 个答案:

答案 0 :(得分:1)

您应通过db = SQLAlchemy ()初始化db对象

也将导入更改为from flask_sqlaclhemy import SQLAlchemy

编辑: 有错字 更改为app.config['SQLALCHEMY_DATABASE_URI'] 有错字

相关问题