2013-03-14 1 views
0

Когда я запускаю эту команду:
sqlcmd -S server -U sa -P xxxxxxx -i d:clients.sql -o D:\clients.txt
но в файле у меня есть х строк, которые, «1> 2> 3> 4> 5> 6> 7> 8 > "и многие другие пробелы
Я не могу получить результат без форматирования.
В файле sql у меня есть выбор.Сохранить результаты в текстовый файл без любого другого форматирования в Sqlcmd

Благодарим заранее.

+0

«1> 2> 3> 4> 5> 6> 7> 8>« скрыть при использовании sqlcmd перед тем, как я использовал osql – Fara

ответ

1

Вы можете добавить SET NOCOUNT ON к вашему сценарию в remove the rows affected message и добавить -h-1 в командную строку, чтобы удалить имена столбцов и строки под ними. Это работает для меня, и возвращает только строки данных:

sqlcmd -E -i query.sql -o tmp.txt -h-1 

query.sql Где выглядит следующим образом:

set nocount on; 
select name from sys.objects; 

Но я не знаю, где 1> 2> 3> 4> 5> 6> 7> 8> персонажи приходят с. Вы можете опубликовать минимальный пример сценария SQL, который дает этот вывод.

И как общий комментарий, мне лично не нравится использовать sqlcmd.exe для запуска запросов, потому что трудно контролировать вывод. Некоторые другие вещи, чтобы рассмотреть:

  • Используйте Bcp.exe, если вы хотите разделителями файл
  • Используйте скрипт в PowerShell, Perl или любой другой язык вы предпочитаете
  • Используйте пакет SSIS
  • Поместите свой содержимое сценария в хранимую процедуру и выполнить его вместо использования входного файла