Импорт CSV в таблицу SQL с помощью утилиты BCP cmd - PullRequest
0 голосов
/ 08 марта 2012

Мой источник CSV разделен запятой.

Пример

Col1, Col2, Col3

Destinatin SQL Table

Col1, Col2, Col3, Col4, Col5 (Col4 и Col5 похожи на столбцы аудита)

Поэтому, когда я делаю импорт bcp, могут ли эти Col4 и Col5 устанавливать некоторые значения по умолчанию или мне нужно обработать файл данных / источника, чтобы включить их, прежде чем я выполню команду bcp.

Какой предпочтительный способ.

Использование служб SSIS для чтения источника / получения столбцов аудита и сопоставления с пунктом назначения.

или любой другой правильный путь.

1 Ответ

2 голосов
/ 08 марта 2012

Я думаю, у вас есть несколько вариантов:

  1. Измените схему таблицы назначения, включив в нее ограничения DEFAULT для двух столбцов, которые не будут обновлены значениями из файла импорта (а затем удалите их позже, если они вам не нужны

  2. Создайте пакет служб SSIS - вероятно, это займет примерно столько же времени, сколько потребовалось бы для поиска решения в сети Интернет с использованием bcp

  3. Попробуйте использовать BULK INSERT - sqlcmd.exe или SQL Server Management Studio и добавьте значения по умолчанию (SELECT c1, c2, c3, 'My default', GETDATE() FROM OPENROWSET('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=C:\Path\To\Folder\With\CSV;','SELECT * FROM MyCsv.csv'))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...