МАССОВАЯ ВСТАВКА с сервера sql как запрос в pythonPython

Программы на Python
Anonymous
МАССОВАЯ ВСТАВКА с сервера sql как запрос в python

Сообщение Anonymous »


Я столкнулся со следующей задачей:

У меня есть активное соединение моего приложения Python с сервером sql, и я хотел бы выполнить операцию массовой вставки, которая вставляет данные из определенного файла в мою базу данных. Когда я выполняю это непосредственно с сервера sql, все работает нормально, но с Python я всегда получаю сообщение об escape-символе '/' - это машина Windows.

Я не могу понять, как это сделать: я попробовал: а) заменить '/' на '//', но затем сервер sql раздавлен б) создать хранимую процедуру и обратиться к ней в c.execute, но она тоже не работает в) заменить '/' на '' - тогда sql не сможет открыть файл г) создать переменную с необработанной строкой r'' и передать ее в качестве параметра в код сервера sql, но это также не работает

conn = pyodbc.connect(f'DRIVER={driver};SERVER={server};DATABASE={database};UID={user};PWD={пароль}') с = конн.курсор() c.execute(''' ОБЪЕМНАЯ ВСТАВКА Имя ИЗ 'C:\Users\pllmkd\Desktop\test.txt' С ( ТЕРМИНАТОР ПОЛЯ = ',') ''') c.commit() в.закрыть() конн.закрыть() Каким должен быть подход к этой проблеме? Я не хочу читать файл построчно, поскольку в каждом файле, который я хочу загрузить, есть сотни тысяч строк.

Я получаю ошибку:

SyntaxError: (ошибка Юникода) Кодек 'unicodeescape' не может декодировать байты в позициях 36–37: усеченный escape-символ \UXXXXXXXX Не могли бы вы предложить решение?

Заранее благодарим за любые советы

Вернуться в «Python»