Так же, как заявление об отказе, я очень плохо знаком с Python и использую его в первую очередь для работы над забавными проектами с использованием SQL.С учетом сказанного, давайте углубимся.
Цель: создать скрипт, который будет считывать данные из файла CSV, хранящегося локально на моей рабочей станции, а затем вставлять эти данные непосредственно в БД Microsoft SQL Server.В настоящее время я собираю данные в Интернете, которые сохраняются в файле Excel, а затем создаю DF данных с помощью Pandas.Оттуда я хочу экспортировать данные в мою БД.
Инструменты: В настоящее время используется 32-разрядная версия Python 3.7, версия SQL Server 11.0.2100.60, SSMS 17 и 64-разрядная ОС Windows.
Код, используемый в Py:
import pandas as pd
from sqlalchemy import create_engine
df = pd.read_csv('C:\\Users\\NameofFile.csv', encoding = 'latin1')
engine = create_engine('mssql+pyodbc://DESKTOP-0000\SQLEXPRESS/NameofDB?driver=SQL+Server+Native+Client+10.0')
df.to_sql('NameofTable',engine)
Проблема:
Я получаю следующую ошибку при запуске этого кода:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию (0) (SQLDriverConnect)')
Теперь у меня естьпопытался найти источники данных ODBC в инструментах администрирования и добавить SQL-сервер в 32-разрядный пользовательский DSN.Я также заметил при просмотре 64-битного ODBC, он показывает SQL Server с платформой 32/64 бит под DSN пользователя.Я думаю, что способ объявления соединения неверен, но я не могу понять, как правильно объявить соединение для MSSQL.Я могу только найти простые примеры для MYSQL и SQLLite, но я хочу использовать MSSQL.Любая помощь будет принята с благодарностью.