powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
15 сообщений из 15, страница 1 из 1
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36123934
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Такая вот ситуация: есть 2 хранимые процедуры П1 и П2. П2 вызывается из П1. Во время выполнения П2 печатает всякие сообщения, вроде «столько-то строк обновлено» или «вызвана такая-то ошибка». Нужно, чтоб процедура П1 поймала эти сообщения и передала их в среду вызова процедуры П1. (П2 редактировать нельзя, П1 - можно). Как обратиться к потоку, в который П2 выводит сообщения?
Заранее благодарю за все ответы.
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36123984
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Pavel__,
Написать новую П2new, чтобы она писала в тот поток, который может пощупать вызывающая процедура.
Заменить в П1 вызов П2 на П2new.
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124007
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__,
И где ж ты там потоки нашел?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create procedure t2
as
   print "t2"
go

create procedure t1
as
begin
   print "t1 -1"
   execute t2
   print "t1 -2"
end
go

execute t1
go
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124037
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antand,
П2 должна использоваться. Её нельзя редактировать или не использовать
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124040
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

Спасибо за ответ, но что Вы хотите этим сказать?
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124065
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Pavel__,

Что значит должна использоваться?
Может тот функционал, который делает П2 должен быть? Помимо печати конечно.
Воплотите его в новой процедуре один в один, только "печать" направьте куда надо.
П2 не редактируйте.
Если у Вас П2 еще где-то кто-то вызывает, ну и пусть вызывает дальше.
Будет использоваться.
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124093
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antand_Pavel__,
Написать новую П2new, чтобы она писала в тот поток, который может пощупать вызывающая процедура.
Заменить в П1 вызов П2 на П2new.

Что Вы понимаете под потоком и что означает "пощупать поток" ?
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124112
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot _Pavel__] Нужно, чтоб процедура П1 поймала эти сообщения и передала их в среду вызова процедуры П1. /quot]

Что значит поймала сообщения? Вы хотите поместить их в переменную процедуры П1?
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124218
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из процедуры вам сообщения не перехватить (разве-что вы напишете процедуру на яве).
все сообщения посылаются в клиентскую часть - уровень вложенности процедур не важен.
то. если ваше приложение умеет ловить сообщения от сервера, то все сообщения будут там.
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124549
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__ пишет:
> и П2. П2 вызывается из П1. Во время выполнения П2 печатает всякие
> сообщения, вроде «столько-то строк обновлено» или «вызвана такая-то
> ошибка». Нужно, чтоб процедура П1 поймала эти сообщения и передала их в
> среду вызова процедуры П1. (П2 редактировать нельзя, П1 - можно). Как

Это, к сожалению, невозможно. Весь "вывод", а именно, все диагностические
сообщения (print и raserror), все наборы данных (select) и все DONEINPROC
направляются для передачи по сети по протоколу TDS в буфер сетевого ввода-
вывода. Простых способов перенаправления этого потока данных в ASE нет.
Впрочем, сложных нет тоже, так что вам придётся изобретать какие-то другие
подходы для решения вашей задачи.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36124828
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQLMantis,

Это автора надо спросить, ему такой термин видимо понятнее.
Для меня это должны быть или выходные параметры процедуры или временная таблица, которую наполняет сообщениями П2, а щупает П1.
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36126993
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое за ответы. С ораклом такое проделывалось следующим образом: создавался CMD файл, в нём вызывалась процедура sqlplus.exe <название процедуры>... . Все сообщения, которые выдавала процедура, печатались в какой-то поток, а потом C# перехватывал их, путём настройки свойств StandartInput, StandartError и ещё какой-то объекта process.
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36127212
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__Спасибо большое за ответы. С ораклом такое проделывалось следующим образом: создавался CMD файл, в нём вызывалась процедура sqlplus.exe <название процедуры>... . Все сообщения, которые выдавала процедура, печатались в какой-то поток, а потом C# перехватывал их, путём настройки свойств StandartInput, StandartError и ещё какой-то объекта process.


У isql есть опция -o
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36127302
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__
Все сообщения, которые выдавала процедура, печатались в какой-то поток, а потом C# перехватывал их, путём настройки свойств StandartInput, StandartError и ещё какой-то объекта process.

Не знаю как там в Оракуле, но все, что ASE выводит посредством print, спокойно перехватывается в
conn.InfoMessage+=new OleDbInfoMessageEventHandler(conn_InfoMessage);
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
    #36128287
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,
Спасибо. Если то же самое для Java JDBC покажете, то будет очень хорошо.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Перехват сообщений одной хранимой процедуры другой(ASE 15.0.2)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]