BCP не показывает никаких ошибок, но не копирует строки.У меня есть файл формата xn xml - PullRequest
0 голосов
/ 20 января 2019

Я использую файл формата xml, сгенерированный через bcp, поэтому я не думаю, что это так. Мой файл .bcp составляет 20 Гиг! Вот командный файл, который я использую:

bcp MyInputDB.dbo.mytable  format nul -S sourceserver\instance2 -c -x -f mytable.xml -t, -U user1 -P pw1
pause
title Start Time %time% Total number of rows is 275606414
bcp MyInputDB.dbo.mytable out "mytable2.bcp" -S sourceserver\instance2 -f mytable.xml -U user1 -P pw1 -c
echo Completed at  %time%
pause
title Start Time %time% Total Number of Rows is 275606414
bcp MyOutputDB.dbo.mytable in C:\mypath\mytable2.bcp -S MyHostName\MyInstance -f mytable.xml -U user2 -P pw2    
echo Completed at  %time%

Я вижу:

Starting copy...

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 39500

Несколько строк моего .bcp файла выглядят так:

953     10      0       2019-01-12 19:09:41.480
953     20      0       2019-01-12 19:12:06.397

Однако файл формата mytable.xml выглядит следующим образом:

 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="12"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="21"/>
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="1"/>
  <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>
 </RECORD>

Это не похоже на насмешку. Похоже, он ожидает файл .csv. Как я могу изменить свой разделитель на вкладки?

1 Ответ

0 голосов
/ 25 января 2019

Когда BCP обрабатывает файл без ошибок и вы получаете 0 строк, это обычно означает, что BCP не нашел разделитель, который ему было сказано искать.Он искал и обыскивал весь файл и не нашел цепочку разделителя, которую вы указали в файле формата (или что он использует по умолчанию).

Как сказал Роджер, файл выглядит как разделитель табуляции, нов вашем файле формата указан первый столбец с разделителем запятых.

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

...