Я пытаюсь использовать Python для загрузки из фрейма данных Pandas в таблицу SQL Server, но не могу успешно создать соединение с использованием sqlalchemy. Я понимаю, что сначала мне нужно создать объект engine с помощью create_engine () и создать объект подключения с помощью engine.connect (), но никакая строка, которую я ввожу в create_engine (), похоже, не работает. Я пробовал следующее:
engine = create_engine('mssql+pyodbc://myServer/myDB')
conn = engine.connect()
и
engine = create_engine('mssql+pyodbc://Server=myServer;Database=myDB;')
conn = engine.connect()
и
engine = create_engine('mssql+pyodbc://Driver={SQL Server};Server=myServer;Database=myDB;Trusted_Connection=yes;')
conn = engine.connect()
но все это приводит к следующей ошибке:
InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию (0) (SQLDriverConnect)')
Я также пробовал:
engine = create_engine('mssql+pyodbc://Driver={SQL Server Native Client 11.0};Server=myServer;Database=myDB;Trusted_Connection=yes;')
conn = engine.connect()
, что приводит к следующей ошибке:
DBAPIError: (pyodbc.Error) ('IM010', '[IM010] [Microsoft] [Драйвер ODBC
Manager] Слишком длинное имя источника данных (0) (SQLDriverConnect) ')
Хотя я могу успешно подключиться, используя pyodbc, вот так:
conn = pyodbc.connect('DRIVER={SQL Server};Server=myServer;Database=myDB;Trusted_Connection=yes;')
Я не могу заставить эту работу работать с sqlalchemy.
Буду признателен за любую помощь.