【发布时间】:2018-03-26 03:26:52
【问题描述】:
我正在尝试通过 Flask-SQLAlchemy 连接到本地 MSSQL DB。
这是我的__init__.py 文件中的代码摘录:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://HARRISONS-THINK/LendApp'
db = SQLAlchemy(app)
SQLALCHEMY_TRACK_MODIFICATIONS = False
正如您在 SQL Server Management Studio 中看到的,此信息似乎匹配:
这是在我的models.py 文件中创建的一个简单表:
from LendApp import db
class Transaction(db.model):
transactionID = db.Column(db.Integer, primary_key=True)
amount = db.Column(db.Integer)
sender = db.Column(db.String(80))
receiver = db.Column(db.String(80))
def __repr__(self):
return 'Transaction ID: {}'.format(self.transactionID)
然后我通过执行以下两行使用 Pycharm 中的 Python 控制台连接到数据库:
>>> from LendApp import db
>>> db.create_all()
这会导致以下错误:
DBAPIError: (pyodbc.Error) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
我唯一能想到的是我的数据库连接字符串不正确。我已尝试将其更改为更多标准 Pyodbc 连接字符串,包括 driver={SQL SERVER},但没有成功。
如果有人能帮我解决这个问题,我们将不胜感激。
谢谢
【问题讨论】:
标签: python sql-server flask-sqlalchemy