импортировать только новые или обновленные записи в базу данных sql, используя bcp для импорта и экспорта - PullRequest
0 голосов
/ 21 апреля 2011

У меня есть CSV-файл.Теперь мне нужно импортировать все данные из этого файла в мою базу данных sql, mdf файл.

ItemID

178

212

3423

Я бы сделал импорт просто из BCP.Но через некоторое время файл обновляется новыми записями, и я хочу, чтобы на этот раз я только взял новые записи и вставил их в базу данных sql.Как это сделать?Должен ли я соответствовать существующим ItemID, или использовать первичный ключ в столбце ItemID, и когда он автоматически отклонит дубликаты записей, или я добавлю новый столбец как DateTimeofInsert, а затем поступлю соответствующим образом, пожалуйста, sugget?:

ItemID

178

212

3423

4676

782

2308

Кроме того, я использую Sql Server Express, поэтому есть ли возможность автоматизировать этот процесс с помощью заданий по планированию и т. Д.?

1 Ответ

1 голос
/ 21 апреля 2011

Вы можете просто отслеживать, какой номер строки вы обрабатываете каждый раз.Таким образом, каждый раз, когда ваш процесс выбирает файл для загрузки новых строк в базу данных, вы начинаете со следующей строки в файле, к которому последний раз обращались.Сохраняет любое совпадение.

Или, каждый раз, когда вы обрабатываете файл, вы можете использовать следующий подход:

  1. переименовывать файл (чтобы он больше не записывалсяи процесс, который пишет в файл, создаст новый файл)
  2. импортирует файл в БД
  3. удаляет / архивирует файл
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...