Я пишу скрипт python, который будет обрабатывать текстовые файлы. В рамках этого процесса мне нужно импортировать каждую строку файла с разделителями табуляции в локальную таблицу MS SQL Server (2008). Я использую pyodbc, и я знаю, как это сделать. Тем не менее, у меня есть вопрос о наилучшем способе его выполнения.Импорт текстового файла в SQL Server в Python
Я буду перебирать файл, создавая для каждой строки файла курсор.execute (myInsertSQL). Кто-нибудь видит какие-либо проблемы, ожидающие фиксации операторов до тех пор, пока все записи не будут зациклированы (т. Е. Выполните commit() после цикла, а не внутри цикла после каждого отдельного выполнения)? Причина, по которой я спрашиваю, состоит в том, что некоторые файлы будут иметь более 5000 строк. Я не знал, попытается ли «спасти их», и все 5000 сразу же вызовут проблемы.
Я довольно новичок в python, поэтому пока не знаю всех этих проблем.
Спасибо.
«Я не знал, пытается ли« сохранить их », и совершение всех 5000 сразу вызовет проблемы». Какие «проблемы» вы себе представляете? Ты это пробовал? Что он сделал? Перемещение фиксации из цикла в конец цикла является таким тривиальным изменением, что вы можете легко сделать и то и другое, что вы узнали. –
Я пробовал его с меньшими наборами и не испытывал проблем. Меня беспокоило не то, что это не сработает, когда я буду тестировать, но, возможно, если бы был какой-то потолок, за которым я должен был следить. Файлы будут различаться по размеру и могут превышать 5000. Сценарий, который я пишу, будет запускаться как часть пакетного планирования в производство, и я просто пытаюсь обеспечить, чтобы я не сталкивался с проблемами, делая что-то, что не является рекомендуемые. –
Предоставляет ли интерфейс python sqlserver метод '.executemany'? –