SQLAlchemy - соединение с SQL Server - PullRequest
0 голосов
/ 06 ноября 2018

Я без проблем использовал postgresql с SQLAlchemy, но пытаюсь получить доступ к базе данных в Azure, работающей на SQL Server. Я не могу подключиться и не могу понять, почему. Я много искал и наткнулся на большинство статей, указывающих мне на использование create_engine, но я не могу заставить его работать с ORM. Вот мой текущий код:

ИСКЛЮЧЕНИЕ

sqlalchemy.exc.NoSuchModuleError: Не удается загрузить плагин: sqlalchemy.dialects: SQLServer

from flask import Flask
from models import db, People

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlserver://<connectionString>'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)

@app.route('/')
def hello_world():
    #Exception here
    people = People.query.filter_by(birthYear=12).all()
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

Azure предлагает мне 4 разных строки подключения:

  • ADO.NET
  • 1018 * JDBC *
  • ODBC
  • PHP (не вариант для меня, так как я не использую PHP)

Есть ли способ заставить SQLAlchemy работать с SQL Server?

https://docs.sqlalchemy.org/en/latest/dialects/mssql.html

1 Ответ

0 голосов
/ 06 ноября 2018

SQLAlchemy - это просто библиотека ORM высокого уровня, базовая связь с БД осуществляется библиотеками диалекта / DBAPI.

Предположим, что вы планируете использовать pymssql , вам нужно сначала установить pymssql и изменить строку подключения

mssql+pymssql://<username>:<password>@<host>:<port>/<database_name>/?charset=utf8

Современные версии этого драйвера очень хорошо работают с SQL Server и FreeTDS из Linux и настоятельно рекомендуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...