Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вывод результата в файл  [new]
lisica
Guest
Подскажите, пожалуйста, где и с какими правами мне нужно создать пользователя(ей), чтобы это работало:
declare @result int

exec @result = master..xp_cmdshell 'osql -S HRMDBPMS -E -Q "SELECT TOP 10 * FROM testDB.dbo.T1" -b -o d:\mytext.txt', no_output
if (@result = 0)
   print 'Success'
else
   print 'Failure'

Кстати, хоть ничего и не создается, но @result = 0

Windows 2005, MS SQL 2005
1 июн 15, 10:24    [17714111]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
Подскажите, пожалуйста, где и с какими правами мне нужно создать пользователя(ей), чтобы это работало:

Нужно убрать no_output и увидеть сообщение об ошибке
1 июн 15, 10:26    [17714121]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Glory,

убрала.

Результат:
(строк обработано: 1)
Success

output
NULL
1 июн 15, 10:29    [17714135]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
Значит все успешно сработало
1 июн 15, 10:32    [17714153]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Glory
Значит все успешно сработало


Почему тогда на диске нет файла? в таблице данные точно есть!
1 июн 15, 10:35    [17714177]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
o-o
Guest
lisica,

винда у вас оригинальная и неповторимая: Windows 2005
а файл с результатом вы наверное ищите на клиенте,
а он лежит на сервере
1 июн 15, 10:37    [17714183]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
Почему тогда на диске нет файла?

Наверное потому, что вы не на том диске ищите
1 июн 15, 10:37    [17714185]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Glory,

нет, ищу на диске сервера, на том сервере на котором установлен mssql
то есть sql точно все делает нормально, собака не в нем порылась?

сейчас выполнила на своем компе, у меня экспресс версия стоит и все работает
1 июн 15, 10:43    [17714234]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
сейчас выполнила на своем компе, у меня экспресс версия стоит и все работает

Ваше "все работает" означет, что предложенный вам скрипт без no_output тоже возвращает

Результат:
(строк обработано: 1)
Success

output
NULL
1 июн 15, 10:46    [17714243]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Glory,

Извините, но оказалось все просто, админы что-то настроили, что в корневом каталоге нельзя было создавать файлы (((
Блин, бывает же! Тему можно закрыть.

Спасибо!
1 июн 15, 10:51    [17714279]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Еще раз извините, но тема, оказывается, не закрыта (

declare @txt2 varchar(8000)
declare @txt varchar(max) 
select @txt = 'результат запроса преобразованный в nvarchar тип'
select @txt2 = 'osql -S myserver -E -Q "print N''' + @txt + '''" -b -o d:\mytext1.txt'
exec master..xp_cmdshell @txt2--, no_output


Ругается: Unclosed quotation mark after the character string

Как сделать правильно?

И еще вопрос, а как вывести в кодировке KOI-8R?
1 июн 15, 11:54    [17714632]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
Как сделать правильно?

Посчитать количество кавычек и их парность

lisica
И еще вопрос, а как вывести в кодировке KOI-8R?

Написать перекодировочник. Или хранить в таблице уже перекодированные данные
1 июн 15, 11:58    [17714655]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Glory
lisica
Как сделать правильно?

Посчитать количество кавычек и их парность


вроде как в @txt2 все кавычки парные, или я не права? 6 одинарных и 2 двойные
а в @txt кавычек вообще нет

что не так?
1 июн 15, 12:04    [17714701]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
вроде как в @txt2 все кавычки парные, или я не права?

Тогда кто же тогда выдает " Unclosed quotation mark after the character string" ?
1 июн 15, 12:08    [17714714]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
lisica,
в @txt есть chr(13)+chr(10) - они виноватые (
а как сделать перевод строки?
1 июн 15, 12:09    [17714718]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
в @txt есть chr(13)+chr(10) - они виноватые (
а как сделать перевод строки?

А вы в знаете, что command line означает эти самые chr(13)+chr(10) ?
Вы пробовали вручную в командной строке ввести команду с использованием этих chr(13)+chr(10) ?
1 июн 15, 12:11    [17714728]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
lisica
Guest
Glory
lisica
в @txt есть chr(13)+chr(10) - они виноватые (
а как сделать перевод строки?

А вы в знаете, что command line означает эти самые chr(13)+chr(10) ?
Вы пробовали вручную в командной строке ввести команду с использованием этих chr(13)+chr(10) ?


ну я же не спросила Вас, что делают эти чудные команды, спросила совета, как возможно сделать перевод строки? так как текст в @txt (точнее в выведенном файле) должен делиться на строки.
в общем-то, наверное можно выводить в два файла, а потом их объединять, как вариант, может еще есть варианты...

и еще вопрос, а почему длинная строка делится на строчки по 70 символов, нельзя без этого? это где-то задается?
пробовала через bcp, там не делится
select @txt2 = 'bcp "select ''' + @txt + '''" queryout  d:\mytext2.txt -c -Craw -S myserver -T'
exec master..xp_cmdshell @txt2
1 июн 15, 12:21    [17714795]     Ответить | Цитировать Сообщить модератору
 Re: вывод результата в файл  [new]
Glory
Member

Откуда:
Сообщений: 104751
lisica
ну я же не спросила Вас, что делают эти чудные команды,спросила совета, как возможно сделать перевод строки?

Я спрашиваю, почему дождь ! Я спрашиваю, почему лужи на асфальте !
Хочу, чтобы был дождь, но луж на асфальте не было.

lisica
в общем-то, наверное можно выводить в два файла, а потом их объединять, как вариант, может еще есть варианты...

Лучше 3 файла.

lisica
и еще вопрос, а почему длинная строка делится на строчки по 70 символов, нельзя без этого? это где-то задается?

Вы не пробовали открывать хелп до того, как собираетесь задать вопрос ?
1 июн 15, 12:26    [17714815]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить