Утилита SQL Server BCP - игнорировать столбец при импорте - PullRequest
0 голосов
/ 17 сентября 2018

Я новичок в утилите BCP .Я хочу знать, есть ли способ исключить столбец при выполнении импорта.

Рассмотрим эту структуру таблицы.

CREATE TABLE [dbo].[test_temp]
(
    [Column1] [varchar](100) NULL,
    [Column2] [varchar](100) NULL,
    [Column3] [varchar](100) NULL,
) 
ON [PRIMARY]
GO

Мой входной файл (inputData) имеет 4 столбца:

Column1Value, Column2Value, Column3Value, Column4ValueExclude

Когда я запускаю свой BCP, я хотел бы исключить четвертый столбец из входных данных.Так что моя таблица получает значения из Column1, Column2, Column3.

bcp "testDB.dbo.test_temp" in  c:\temp\test\inputData.csv -c -t,  -T -S "testDBServer" -e c:\temp\test\error.csv

Возможно ли это?

Спасибо всем.

1 Ответ

0 голосов
/ 17 сентября 2018

используйте опцию -f для BCP. Эта опция включает файл формата, который позволяет утилите BCP просматривать и обрабатывать данные, как указано в файле формата.

Используя файл формата, вы можете указать, какие столбцы в файле сопоставляются с какими столбцами в целевой таблице. Чтобы исключить столбец, просто установите его целевое значение равным 0.

Файлы форматирования и утилита bcp сами по себе являются гораздо более крупными темами, но для ответа на ваш вопрос; да, это возможно, и использование файла формата с измененными значениями назначения (установленными в «0») является способом сделать это.

...