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

Откуда:
Сообщений: 574
Добрый день всем!
Я выполняю такой код:
declare @convHandler uniqueidentifier,
@convGroupId uniqueidentifier,
@MessageBody char(200),
@MessageTypeName nvarchar(128);
receive top(1)
@MessageTypeName=message_type_name,
@convHandler=conversation_handle,
@MessageBody=message_body
from ReceiverQueue;
declare @mes char(200);
set @mes = 'xxx: '+@MessageBody;

select @mes,cast(@MessageBody as float)
update dbo.otladka set val=cast(@MessageBody as float),[str]=@mes;

Дак вот символьное поле [str] почему-то не обновляется когда забираю первое сообщение из очереди, а когда забираю второе, то обновляется. При этом в обоих случаях в @MessageBody приходит значение.
Это что глюк?
Заранее спасибо!
14 июл 11, 12:33    [10972729]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
И как вы проверяете, что оно не обновляется?
14 июл 11, 12:34    [10972745]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Джек
Member

Откуда:
Сообщений: 574
таблицу dbo.otladka перезапрашиваю...
14 июл 11, 12:40    [10972821]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Джек
таблицу dbo.otladka перезапрашиваю...
Что-то в вашем коде не видное перезапрашивания таблицы.
14 июл 11, 12:43    [10972848]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Джек
Member

Откуда:
Сообщений: 574
я её в мэнэджере перезаправшиваю, восклицательный знак нажимаю...
14 июл 11, 12:44    [10972872]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Джек
я её в мэнэджере перезаправшиваю, восклицательный знак нажимаю...
Надежный способ.
14 июл 11, 12:48    [10972906]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Джек
Member

Откуда:
Сообщений: 574
...вызвал
select [str] from dbo.otladka
он тоже выдает NULL, хотя
select @mes,cast(@MessageBody as float)
перед update выдает:
xxx: 2 2
...
14 июл 11, 12:48    [10972916]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Покжите структуру вашей таблицы otladka.
14 июл 11, 12:51    [10972941]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Джек
Member

Откуда:
Сообщений: 574
я щас вот так написал:
declare @convHandler uniqueidentifier,
@convGroupId uniqueidentifier,
@MessageBody char(200),
@MessageTypeName nvarchar(128);
--begin transaction;
receive top(1)
@MessageTypeName=message_type_name,
@convHandler=conversation_handle,
@MessageBody=message_body
from ReceiverQueue;
declare @mes char(200);
set @mes = 'xxx: '+@MessageBody;

select @mes,cast(@MessageBody as float)
update dbo.otladka set [str]=@mes;--val=cast(@MessageBody as float),;

select [str] from dbo.otladka

Последний оператор выдал:
xxx: 2

Дак это мэнэджер что-ли глючит?
14 июл 11, 12:54    [10972977]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Джек
Дак это мэнэджер что-ли глючит?
Вам виднее должно быть.
14 июл 11, 12:55    [10972995]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Джек
Member

Откуда:
Сообщений: 574
...а если без
select [str] from dbo.otladka
выполню, а потом отдельно выполню
select [str] from dbo.otladka
то опять не работает...
14 июл 11, 12:56    [10973001]     Ответить | Цитировать Сообщить модератору
 Re: service broker: не обновляется таблица после receive  [new]
Джек
Member

Откуда:
Сообщений: 574
вот моя таблица:
CREATE TABLE [dbo].[Otladka](
[val] [float] NULL,
[str] [char](200) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY]
14 июл 11, 12:57    [10973008]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить