@hlyates, спасибо за подробное объяснение - это может помочь другим, у которых может быть такая же проблема
Я пытаюсь использовать python, чтобы прочитать мой CSV-файл и поместить его в Microsoft SQL Server 2016 в качестве новой таблицы. Проще говоря, я не хочу создавать таблицу на SQL и импортировать CSV, я хочу написать скрипт на Python, который может читать CSV и создать новую таблицу на SQL для меня.
ОБНОВИТЬ
Возможно, мне придется переосмыслить свой подход. Я исправил драйвер, но получаю следующую ошибку отto_sql
, Я думаю, что что-то не так с моей схемой аутентификации. К сожалению,to_sql
документация иsql_alchemy
не проливает много света. Начинаем рассматривать альтернативы.
sqlalchemy.exc.DBAPIError was unhandled by user code
Message: (pyodbc.Error) ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53]. (53) (SQLDriverConnect)')
Кодimport pandas as pd
import sqlalchemy
#Read the file
data = pd.read_csv(file.csv)
#Connect to database and write the table
server = "DERPSERVER"
database = "HERPDB"
username = "DBUser"
password = "password"
tablename = "HerpDerpTable"
driver = "SQL+Server+Native+Client+11.0"
#Connect to SQL using SQL Server Driver
print("Connect to SQL Server")
cnxn = sqlalchemy.create_engine("mssql+pyodbc://"+username+":"+password+"@"+server +"/"+database + "?driver="+driver)
ОБНОВИТЬ
Я переписал строку следующим образом, но она не работает:
sqlalchemy.create_engine('mssql+pymssql://'+username+':'+ password + '@' + server + '/' + database + '/?charset=utf8')
data.to_sql(tablename, cnxn);
попыткиВот некоторые важные вещи, которые следует отметить в моем подходе. Обратите особое внимание на второй пункт, который я расскажу ниже. Я думаю, что моя строка подключения дляcreate_engine
что-то или может быть неправильно, но не знаю, что не так, потому что я следовал документации.
to_sql
записать в базу данных, но думаю, что моя строка подключения все еще может быть испорчена? Я консультировался с этимвопрос на стеке потокаОбновить Я добавил спецификацию драйвера как MaxU и указанную документацию по sqlalchemy. Однако я получаю сообщение об ошибке, в котором говорится, что имя моего источника данных не найдено и драйвер по умолчанию не указан сto_sql
, Нужно ли кормитьto_sql
водитель тоже? Если да, где находится документация или пример кода, который показывает мне, где я иду не так?Я прилагаю большие усилия, чтобы выбрать Python и использовать его в качестве языка сценариев из-за будущих целей и потребностей. Буду признателен за любую помощь, помощь, оказанное наставничество.