Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

Откуда:
Сообщений: 42
Доброго всем дня!
Сорри, не нашла своего вопроса в теме.
Проблема: В ходе выполнения процедуры ошибки - которые могут быть при обработке кода имеют разные селекты для вывода. Процедура должна будет запущена из приложения. А вот результат необходимо оценить до выполнения следующего шага. Мульти селекты делать в дельфи не целесообразно. Лучше потом уже открыть этот файл для чтения и просмотреть.
SQL Server 2000
Алгоритм предполагаемого действия такой: запустить процу, если выдаст возвращаемое значение 0 - открыть файл.

Вопрос: Как можно сделать это средствами tsql - может где-то доп кодом это указать, что запись результатов должна сесть в такой-то файл .
3 сен 14, 08:34    [16526819]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ainura Kasymalieva
Мульти селекты делать в дельфи не целесообразно.
Чо эта? Нормально там обрабатываются несколько рекодсетов.

Ainura Kasymalieva
Вопрос: Как можно сделать это средствами tsql - может где-то доп кодом это указать, что запись результатов должна сесть в такой-то файл .
Я правильно вас понимаю, что вы хотите, чтобы сервер залез на клиентскую машину и где-то там что-то у него писал в файл?

Сообщение было отредактировано: 3 сен 14, 09:42
3 сен 14, 09:42    [16527008]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
Ну так стандартизируйте "селекты для вывода ошибок".

Вы программист или кто?
3 сен 14, 14:01    [16529226]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ainura Kasymalieva
Алгоритм предполагаемого действия такой: запустить процу, если выдаст возвращаемое значение 0 - открыть файл.

Каждая процедура и так в состоянии возращать(и возвращает) код завершения.
И кроме этого кода завершения есть и еще и выходные параметры.
3 сен 14, 14:03    [16529244]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

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

Не пойдет. Мне досталась уже разработанная система, с зашифрованными кодами к тому же еще. Из своей процы я несколько раз обращаюсь к другой, которая имеет курсоры и если в них ошибка и есть необработанные строки - они выдают ид необработанной строки и причем никуда его не инсертят, а так видимо как курсор отрабатывает, так это значение и выдают, вместо того что выдать сразу в табличном виде.
3 сен 14, 15:00    [16529662]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ainura Kasymalieva
Не пойдет. Мне досталась уже разработанная система, с зашифрованными кодами к тому же еще.

И как вы тогда собирались добавлять в эти процедуры вывод в файл ?
3 сен 14, 15:05    [16529706]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

Откуда:
Сообщений: 42
Нет в своей, которая видит эти сообщения типа...

--------------------------------
10%. Estimating time 00:26:06

Error for id 66785
--------------------------------
11%. Estimating time 00:23:35
3 сен 14, 15:09    [16529748]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ainura Kasymalieva
Нет в своей, которая видит эти сообщения типа...

--------------------------------
10%. Estimating time 00:26:06

Error for id 66785
--------------------------------
11%. Estimating time 00:23:35

Это не процедура "видит". Это клиентское приложение отображает полученные от сервера сообщения.
3 сен 14, 15:11    [16529771]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

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

Ну давайте не понимать все буквально. Имеется ввиду система - но работаю я чисто с базой, напрямую из своей процы на tsql вызываю другую - буквально так: exec *** 1,@ggd,175
вместо звезд имя процы. А результат другой вижу как написала в примере выше. И теперь пишу приложение на дельфи, что бы видеть эти ошибки - надо вывод в файл делать. Надеюсь доступно объяснила
3 сен 14, 15:18    [16529832]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ainura Kasymalieva
А результат другой вижу как написала в примере выше.

Еще раз.
Никто, включая вас, не можете работать "чисто с базой"
Все запускают какое-то клиентское приложение. Которое создает соединение с сервером. По этому соединению в одном направлении серверу передаются команды для выполнения, а в обратном направлении читаются результаты/сообщения.
3 сен 14, 15:21    [16529873]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

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

Ну если копаться в мелочах - то через менеджмент студию и запускаю собственно скрипты. Но по-моему итак это понятно.
Лучше подскажите как запустив exec *** я могу получить результат в файл средствами tsql
3 сен 14, 15:28    [16529932]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ainura Kasymalieva
Ну если копаться в мелочах - то через менеджмент студию и запускаю собственно скрипты. Но по-моему итак это понятно.

Если вы знаете только одну утилиту, то это не значит, что она одна единственная в мире.

Ainura Kasymalieva
Лучше подскажите как запустив exec *** я могу получить результат в файл средствами tsql

Никак.
3 сен 14, 15:29    [16529942]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

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

Ну вероятно вы его не знаете и все
3 сен 14, 15:33    [16529961]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
Ainura Kasymalieva,

почему нельзя организовать вывод в таблицу с последующим ее просмотром?
3 сен 14, 15:35    [16529970]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
Ainura Kasymalieva,

т.е., если 0, то
select * from logTable where ...
3 сен 14, 15:37    [16529981]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
Ainura Kasymalieva, Вы хотите решить задачу средствами, которые это не позволяют сделать.

Сигнализация об ошибке в MS SQL НЕ осуществляется при помощи "имеют разные селекты для вывода".
Для этого существуют штатные механизмы.

Если вы хотите использовать какой-то самопал, то стандартизируйте вывод, сделайте эти "селекты" одинаковыми по формату.
В этом случае Вам не потребуется изобретать систему обработки текстовых файлов. Так никто ошибки процедур MS SQL не обрабатывает ввиду ограничений безопасности и наличия штатных средств.
3 сен 14, 15:39    [16529997]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ainura Kasymalieva
Glory,

Ну вероятно вы его не знаете и все

Не с вашим уровнем знаний MSSQL оценивать меня.
3 сен 14, 15:41    [16530018]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

Откуда:
Сообщений: 42
Wlr-l,

Ну подскажите алгоритм - как с чужого курсора их ловить. Я менять ту процу не могу, работать надо с чем уже есть!
запускаю ту процу exec *** 1,@ggd,175
Там вывод вот так:
--------------------------------
10%. Estimating time 00:26:06

Error for id 66785
--------------------------------
11%. Estimating time 00:23:35

Как их складывать???? в logTable
3 сен 14, 15:54    [16530120]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ainura Kasymalieva
Wlr-l,

Ну подскажите алгоритм - как с чужого курсора их ловить. Я менять ту процу не могу, работать надо с чем уже есть!
запускаю ту процу exec *** 1,@ggd,175
Там вывод вот так:
--------------------------------
10%. Estimating time 00:26:06

Error for id 66785
--------------------------------
11%. Estimating time 00:23:35

Как их складывать???? в logTable
Вам надо написать клиентское приложение - которое, вы, собственно говоря, уже и пишите - и обработать все рекордсеты, которые вам возвращает ваша процедура. Дальше хоть в файл, хоть на экран, хоть электронной почтой президенту америки.
3 сен 14, 15:57    [16530145]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Ainura Kasymalieva
запускаю ту процу exec *** 1,@ggd,175

Как их складывать???? в logTable


insert into logTable 
exec *** 1,@ggd,175
3 сен 14, 15:59    [16530167]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Knyazev Alexey
Ainura Kasymalieva
запускаю ту процу exec *** 1,@ggd,175

Как их складывать???? в logTable


insert into logTable 
exec *** 1,@ggd,175
Вангую вопросы "а что делать, если рекордсеты разной структуры?" и "а как получить все принты из процедуры?"
3 сен 14, 16:02    [16530193]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
Ainura Kasymalieva, "как с чужого курсора их ловить"?
Тогда остается попросить тех, кто эти курсоры лепил:
1.Унифицировать сообщения об ошибках,
2.Вместо select (print) использовать insert.
3 сен 14, 16:20    [16530350]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Wlr-l
Member

Откуда:
Сообщений: 602
Ainura Kasymalieva, интересно, в таблицу нельзя, а в файл можно.
3 сен 14, 16:23    [16530379]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Ainura Kasymalieva
Member

Откуда:
Сообщений: 42
Wlr-l,

просить некого. Сам себе режиссер
3 сен 14, 16:31    [16530458]     Ответить | Цитировать Сообщить модератору
 Re: Сохранение результатов в текстовый файл при работе сохраненной процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104751
Грустно смотреть на такой тупизм
osql -SMYSERVER -E -Q".... exec *** 1,@ggd,175 ...." -oC:\mylog.txt
3 сен 14, 16:32    [16530465]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить