Пожалуйста, кто-нибудь может посоветовать, существует ли способ, который может использоваться для остановки команды массового копирования SQL Server BCP, создающей окончательный возврат каретки и, следовательно, пустую строку в конце файла?SQl Server 2014 BCP BulkCopy удаляет финальную пустую строку
Я был Google, но не смог нанести подходящий ответ.
Код, который я использовал в моей хранимой процедуре, приведен ниже. Запрос и путь к файлу опущены, но переменные SQL остаются:
/* Prepare the command */
DECLARE @Command VARCHAR(4000);
SELECT @Command =
'bcp "' /* Bulk Copy command */
+ @Query /* The query to output */
+ '" queryout ' /* Output the results of the query */
+ @FullFilePath /* The file path to write to */
+ ' -c -t"|" -T -S' /* Switches (See below) */
+ @@servername; /* The server name */
/*
BCP Command Swtitches
-c Output in ASCII with the default field terminator (tab) and row terminator (crlf)
-t override the field terminator with "|"
-T use a trusted connection. Note that U –P may be used for username/password
-S connect to this server to execute the command
*/
/* Execute the command */
exec master..xp_cmdshell @Command;
Спасибо.
Отлично, выглядит многообещающе. Если я когда-нибудь перейду к рассмотрению этого проекта, я буду помнить о вашем решении! Спасибо. – Dib
..также я заметил, что для некоторых файлов с двоичными данными выше не удается, поэтому в этом случае я использую export/import с параметром -n и -t/t для тех случаев, когда появляется ошибка EOL. – Milan
Благодарим за обновление. Я тоже это помню. – Dib