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

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

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

...

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

...


а как через сокеты?
исходник есть?
...
Рейтинг: 0 / 0
02.08.2002, 14:27:36
    #32040615
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
как это ни чего не даёт!..
у тя че за клиент.. (в смыле что пользуеш?)
...
Рейтинг: 0 / 0
02.08.2002, 14:32:41
    #32040619
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
если на тразакте.. @@error показывает код последней ошибки..
...
Рейтинг: 0 / 0
02.08.2002, 15:05:42
    #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
02.08.2002, 15:06:31
    #32040635
Mixy Mix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
пользую access
...
Рейтинг: 0 / 0
02.08.2002, 15:09:24
    #32040637
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
так где мусор то?
...
Рейтинг: 0 / 0
02.08.2002, 15:27:41
    #32040641
Mixy Mix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
мусор:ODBC--insert on a linked table 'XXXXX' failed
[Microsoft] [ODBC SQL Server Driver][SQL Server]

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

мусор:
(#50001)

зачем это все клиенту то?
...
Рейтинг: 0 / 0
02.08.2002, 16:08:28
    #32040659
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
так перехватывай ошибки!....
и выводи то что нужно... (или ваще не выводи)...
...
Рейтинг: 0 / 0
02.08.2002, 17:13:48
    #32040687
Mixy Mix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
хорошо сказать перехватывай ошибки...
я не умею, еще не научился...
это ж не vb :)
кто б меня научил перехватывать их (синтаксис какой?)
...
Рейтинг: 0 / 0
02.08.2002, 17:21:54
    #32040692
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
у access есть свой VB...
...
Рейтинг: 0 / 0
02.08.2002, 17:23:33
    #32040693
Mixy Mix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
ааа, ты имеешь ввиду на клиенте перехватывать...
я то думал разговор про то как на серваке это сделать
кстати такое возможно?
...
Рейтинг: 0 / 0
02.08.2002, 17:25:58
    #32040696
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
в смысле?...
если на транзакте....
анализируеш @@error...
и чегото делаеш...
у клинта ошибки перехватываеш...
...
Рейтинг: 0 / 0
02.08.2002, 17:28:45
    #32040698
Mixy Mix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отправить на клиента сообщение
я так понял ты отправляешь к bol?
мне ничего не расскажешь...
(синтаксис, господа, синтаксис :)
...
Рейтинг: 0 / 0
02.08.2002, 18:39:37
    #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
02.08.2002, 18:54:29
    #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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как отправить на клиента сообщение / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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