@isaac-21

Есть ли асинхронный драйвер к Microsoft SQL Server на python, для sqlalchemy?

Хочу попробовать написать асинхронные запросы к БД через sqlalchemy, но при попытке, он ругается, что нет асинхронного драйвера, подскажите пожалуйста, как можно решить эту проблему?
Или какой драйвер поставить?
async def async_main():
    connection_string = f"DRIVER={{ODBC Driver 17 for SQL Server}};" \
                        f"SERVER={DB_HOST};DATABASE={DATABASE};" \
                        f"UID={DB_USER};PWD={DB_PASS}"
    connection_url = URL.create("mssql+pyodbc", query={"odbc_connect": connection_string})
    engine = create_async_engine(connection_url,
                                 echo=True)  # при необходимости, включения/выключения логов запросов меняется параметр echo

    async with engine.begin() as conn:
        await conn.run_sync(meta.create_all)

    async with engine.connect() as conn:
        result = await conn.execute(select(CT_DOC_CARDS).where(CT_DOC_CARDS.c.NUMBER_DOC == "BMK2\\173993"))
        print(result.fetchall())

    await engine.dispose()

asyncio.run(async_main())


sqlalchemy.exc.InvalidRequestError: The asyncio extension requires an async driver to be used. The loaded 'pyodbc' is not async.
  • Вопрос задан
  • 657 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
написать свой и добавить в aioodbc
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы