Как подключить мою базу данных Sybase с помощью SQLAlchemy (1.3.18) с Python (3.8.3)? - PullRequest
0 голосов
/ 05 августа 2020

Я использую SQL Сервер с библиотекой SQLAlchemy 1.3.18, и благодаря fast_executemany = True теперь он работает быстрее, чем раньше.

Мне нужно установить связь с базой данных Sybase. У меня следующая ошибка:

TypeError: недопустимые аргументы 'fast_executemany' отправлены в create_engine () с использованием конфигурации SybaseDialect_pyodbc / QueuePool / Engine.

Это будет проблемой для меня, потому что мне нужно быстрое соединение, а также быстрая запись в моей базе данных. Но даже если я удалю эти аргументы из метода, у меня будет следующая ошибка:

sqlalchemy.ex c .OperationnalError: (pyodb c .OperationnalError)

вот код:

engine = sqlalchemy.create_engine(con['sql']['connexion_string'])

с con['sql']['connexion_string'] = "sybase+pyodbc://<user>:<password>@server_name/[db_name]driver=ODBC Driver 13 for SQL Server"

Я думаю, что это исходит от драйвера (возможно, я ошибаюсь), но я не знаю, какой из них взять, а в документации я понял, что мы должны использовать pyodb c, поэтому ODB C Drivers.

Ответы [ 2 ]

0 голосов
/ 07 августа 2020
• 1000 odb c connexion.

А затем сделайте следующее:

connexion_string = 'sybase+pyodbc:///?odbc_connect = %s'%params)

с этой строкой подключения, вы сможете выполнить sqlalchemy.create_engine (connexion_string)

0 голосов
/ 05 августа 2020

Внутренний диалект sybase не поддерживает fast_executemany, но внешний диалект поддерживает.

Обратите внимание, что вам нужно будет использовать драйвер SAP ODB C для ASE; FreeTDS ODB C не будет работать с fast_executemany.

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