powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как отправить на клиента сообщение
19 сообщений из 19, страница 1 из 1
Как отправить на клиента сообщение
    #32040595
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли что-нибудь в SQL 7.0 для того чтобы из ХП/триггера отправить на клиент мессагу?
читал BOL, странные вещи там нашел, как ими пользоваться так и не понял, подскажите, пожалуйста...
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040606
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все зависит от того, как ты хочешь организовать взаимодействие. Можно например письмо отправить (см. SQL Mail), а можешь свой ActiveX написать (например, VB6.0), который будет как-нибудь через сокеты взаимодействовать с клиентом.... вариантов много. Какой тебе подойдет - нужно отталкиваться уже от ситуации
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040607
Фотография AVL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если текущему пользователю, то воспользуйся raiseerrror
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040610
Alexandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно через xp_cmdshell
например
Код: plaintext
exec xp_cmdshell  net send имя_пользователя сообщение
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040611
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
задача простая, мне нужна функция которую можно будет дергать везде (это конечно в идеале) в запросах/хп/триггерах и т. д. ... чем универсальнее тем лучше

что касается RAISERROR, то следующая конструкция мне ничего не выдает почему-то:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE @RetCode int 
SET @RetCode =  50001  

...

RAISERROR @RetCode 'МояМессага' 

...


а как через сокеты?
исходник есть?
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040615
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как это ни чего не даёт!..
у тя че за клиент.. (в смыле что пользуеш?)
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040619
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если на тразакте.. @@error показывает код последней ошибки..
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040632
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, получилось вроде, проблема не здесь, с логикой напутал и парс вообще не доходил до RAISERROR:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE @RetCode int 
SET @RetCode =  50001  

...

RAISERROR @RetCode 'МояМессага' 

...


мессага идет, но с мусором вместе...
что-то вроде:

ODBC--insert on a linked table 'XXXXX' failed
[Microsoft] [ODBC SQL Server Driver][SQL Server]МояМессага(#50001)
как нибудь это дело можно поправить?

З.Ы.
2 Alexandr: xp_cmdshell - нету у меня на серваке?! так написала система, когда а попытался использовать предложенную тобой конструкцию...
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040635
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пользую access
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040637
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так где мусор то?
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040641
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мусор:ODBC--insert on a linked table 'XXXXX' failed
[Microsoft] [ODBC SQL Server Driver][SQL Server]

не мусор:
МояМессага

мусор:
(#50001)

зачем это все клиенту то?
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040659
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так перехватывай ошибки!....
и выводи то что нужно... (или ваще не выводи)...
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040687
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хорошо сказать перехватывай ошибки...
я не умею, еще не научился...
это ж не vb :)
кто б меня научил перехватывать их (синтаксис какой?)
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040692
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у access есть свой VB...
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040693
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ааа, ты имеешь ввиду на клиенте перехватывать...
я то думал разговор про то как на серваке это сделать
кстати такое возможно?
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040696
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле?...
если на транзакте....
анализируеш @@error...
и чегото делаеш...
у клинта ошибки перехватываеш...
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040698
Mixy Mix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я так понял ты отправляешь к bol?
мне ничего не расскажешь...
(синтаксис, господа, синтаксис :)
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040713
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак, на TSQL (SQL2K)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE PROCEDURE GenError
AS
BEGIN
    RAISERROR(...)
END

EXEC GenError
IF (@@ERROR !=  0 )
BEGIN
     --блок обработки ошибки
 
END
ELSE BEGIN
    --нормальное выполнение программы
 
END



RAISERROR может иметь много параметров, тебе надо поиграться и посмотреть что и как, чтобы на клиенте нормально отрабатывать эту инфу.
...
Рейтинг: 0 / 0
Как отправить на клиента сообщение
    #32040714
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот наверное проистейший трай-кетч:))
Код: plaintext
1.
2.
3.
4.
5.
 1  create procedure B
   .......
   declare @ret int
   set @ret = @@error
    if @ret != 0  .........
  return @ret

@@error -вернет код последней ошибки,проанализируй @ret в коде и что-то предпринимай в процедуре
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 2 
.......
   declare @ret int --13 wrong number
 
   set @ret = @@error
    if @ret != 0  .........
      set @ret =  13 
  return @ret
.........
 dim a as integer
..............
  a = cmd.Parametr( "ret" )
 if a<> 0  then
  MsgBox.....
if a= 13  then
  MsgBox.....

Анализируй ошибку на клиенте и выводи что тебе нравиться
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как отправить на клиента сообщение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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