Невозможно использовать bcp commanline для ввода данных из | файл с разделителями во временную таблицу - PullRequest
0 голосов
/ 29 апреля 2019

Я использую командную строку bcp для загрузки данных из файла с разделителями каналов во временную таблицу, как показано ниже:

Create table tempdb..##test
(
  test1 int,
  test2 int,
  test3 int
)

Select @CMD='BCP "tempdb..##test" IN "'+@sourcefoler +@filename +'" -S '+@servername+' -t "|" -c -q -t -F 2'

EXECUTE master..XPCMDSHELL @cmd

В файле первая строка заголовка, поэтому я поставил 2 их "-c -q -t -F 2". В случае временной таблицы я не могу загрузить файл, но в случае нормальной таблицы он будет загружен в него. Причина, по которой я хочу загрузить его во временную таблицу, заключается в том, что я хочу добавить новый столбец во временную таблицу, а затем я хочу запросить его в новом файле и загрузить этот файл для загрузки их в окончательную таблицу с обновленным столбцом.

Заранее спасибо !!

1 Ответ

0 голосов
/ 29 апреля 2019

Временные таблицы действуют только при активном сеансе, и cmd прекращает сеанс сразу после завершения импорта - временная таблица не может существовать.Вам необходимо расширить пакет с помощью других шагов для работы с временной таблицей (добавить столбец, обновить), а затем выполнить экспорт в том же пакете.

...