pyodbc к sqlalchemy соединению

Я пытаюсь переключить соединение pyodbc на sqlalchemy. Рабочее соединение pyodbc - это:

import pyodbc
con = 'DRIVER={ODBC Driver 11 for SQL Server};SERVER=server.com\pro;DATABASE=DBase;Trusted_Connection=yes'
cnxn = pyodbc.connect(con)
cursor = cnxn.cursor()
query = "Select * from table"
cursor.execute(query)

Я старался:

from sqlalchemy import create_engine
dns = 'mssql+pyodbc://server.com\pro/DBase?driver=SQL+Server'
engine = create_engine(dns)
engine.execute('Select * from table').fetchall()

Основано на: http://docs.sqlalchemy.org/en/latest/core/engines.html

и: pandas.read_sql () НАМНОГО медленнее при использовании SQLAlchemy, чем pyodbc

(пытается установить соединение с Trusted_Connection = Да)

Но я получаю сообщение:

OperationalError: (pyodbc.OperationalError) ('08001', '[08001] [Microsoft] [Драйвер ODBC SQL Server][DBNETLIB] Нет существующего сервопривода SQL Server или нет (17) (SQLDriverConnect); [08001] [Microsoft][Драйвер ODBC SQL Server][DBNETLIB]ConnectionOpen (Connect()). (53)') (Справочная информация об этой ошибке по адресу: http://sqlalche.me/e/e3q8) (извините за испанский, но он говорит, что SQL Server не существует)

Я почти уверен, что это связано со мной, не понимая синтаксис для подключения двигателя. Может кто-нибудь объяснить, пожалуйста, подробно, как преобразовать коннект из pyodbc в sqlalchemy?

Заранее спасибо!

PD: я пытаюсь реализовать sqlalchemy для использования позже в моем коде pandas.DataFrame.to_sql(engine)

1 ответ

Решение

Я помню, что у меня были похожие проблемы с настройкой sqlalchemy. Я приложил свой синтаксис оператора двигателя. Я не помню деталей, но я помню, что выбор водителя был настоящей проблемой. Я считаю, что мне пришлось загружать драйвер ODBC 13 отдельно, но я могу подтвердить, что pd.read_sql() и df.to_sql теперь работают как чудо.

driver = 'ODBC+DRIVER+13+for+SQL+Server'
engine_stmt = ("mssql+pyodbc://%s:%s@%s/%s?driver=%s" % (username, password, server, database, driver )
engine = sqlalchemy.create_engine(engine_stmt)
Другие вопросы по тегам