Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 sqlcmd и /t  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Привет всем
Чего -то не могу найти как решить простую задачу, или не там смотрю или не там исчу -но все же
есть простой вызов
sqlcmd -S SERVER -E -Q "select  [a] =1,[b] = 1,[c] = 1 "  -o C:\Test.txt  -k1  -W -h-1 -f866 -s[трабла]

И все вроде ок ,но есть 1 но
Что таки надо перелать ключу -s чтоб ф файле разделителем колонок был знак табуляции ,как при допустим
bcp ......-c/t....

Спаришиваю совета ,бо експерементально все идеии закончились :(

------------------------------------
Jedem Das Seine
31 май 13, 22:45    [14377958]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
Glory
Member

Откуда:
Сообщений: 104760
-s col_separator
Specifies the column-separator character. The default is a blank space. This option sets the sqlcmd scripting variable SQLCMDCOLSEP. To use characters that have special meaning to the operating system such as the ampersand (&), or semicolon (;), enclose the character in quotation marks ("). The column separator can be any 8-bit character.

Сообщение было отредактировано: 31 май 13, 22:58
31 май 13, 22:55    [14377984]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ну сие часть хелпа.ето я читал
Но негде не написанно что етого сделать нельзя...
Все варианты
-s c кавычками и без них я уже перебрал...получить таб,мне так и не удалось
31 май 13, 23:08    [14378023]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glory
enclose the character in quotation marks (").

ето прекрстно пашет для всего чего угодно печатного :)
31 май 13, 23:11    [14378031]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
Maxx,

По умолчанию, TAB используется для автозавершения имен файлов. Лечится запуском cmd с ключем /f:off.
1 июн 13, 00:00    [14378139]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
спасибо за совет... но каким боком запуск cmd к форматированию вывода в файл sqlcmd
Вообщем ,решил старым добрым bcp
Но если кто-то знает решение - просьба поделиться,если не жалко
1 июн 13, 00:36    [14378236]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
Maxx
Но если кто-то знает решение - просьба поделиться,если не жалко
Попробовал - всё получается, не понял проблемы.
Нужно всего лишь указать табуляцию в параметре -s""
sqlcmd -E -Q "select  [a] =1,[b] = 1,[c] = 1 "  -o C:\Test.txt  -k1  -W -h-1 -f866 -s"	"
1 июн 13, 01:08    [14378319]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
alexeyvg
Maxx
Но если кто-то знает решение - просьба поделиться,если не жалко
Попробовал - всё получается, не понял проблемы.
Нужно всего лишь указать табуляцию в параметре -s""
sqlcmd -E -Q "select  [a] =1,[b] = 1,[c] = 1 "  -o C:\Test.txt  -k1  -W -h-1 -f866 -s"	"
То есть в сформированной строке в соответствии с документацией должен быть байт с значением 9:
BOL
The column separator can be any 8-bit character.
1 июн 13, 01:12    [14378325]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
alexeyvg,

типа да , но если открывать любым hex редактором .что там что егодно тока не 09 :(

Плина - всем спасибо и сорри :(( Я савсем забыл ,что у меня TAB в студии ето 2 проблелла (что никогда не дает 09)
Плина ну и дятел (ПРО СЕБЯ)
1 июн 13, 01:43    [14378399]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
Maxx
типа да , но если открывать любым hex редактором .что там что егодно тока не 09 :(
Не, если вы поставите туда 09, то любой hex редактор и покажет 09 :-)
Понятно, нужно было проверить, что там реально...

Maxx
Плина - всем спасибо и сорри :(( Я савсем забыл ,что у меня TAB в студии ето 2 проблелла (что никогда не дает 09)
А, интересно, вы командный файл студией делали? Да, студия может подменять на пробелы, если пользователь настроил это...
1 июн 13, 09:31    [14378604]     Ответить | Цитировать Сообщить модератору
 Re: sqlcmd и /t  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
alexeyvg,
я ж и написал про себя - шарик ты балбес
Ессно ето я для удобства редактирования кода поменял когда то TAB на 2 пробела,и есно забыл про ето напроч
И перебробовал 100к варинтов запостил сюда,а ларчик просто открывался
Скопировова вашу команду я таки нашл что там 09 и сравнил со своим выводом в котором было ессно другой символ... патом до меня дошло,что я балбес и героически играю в Дон Кихота .
3 июн 13, 19:39    [14385948]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить