|
Search
You searched for the word(s):
Showing page 15 of 20 (195 total posts)
< 1 second(s)
-
Exact. Drop service, drop contract, creaza contract, creaza servicii.
-
SQL 2005 aduce imbunatatziri semnificative la manipularea XML si in sfirsit se poate renuntza la (oribilele si neperformantele) OPENXML si sp_xml_preparedocument. Incearca asa:
declare @x xml;
select @x = N'<boys>
<boy FirstName=''kuku'' Counter=''8'' Year=''7'' />
<boy FirstName=''dfdfdf'' Counter=''0'' ...
-
Contractele nu pot fi modificate, intentionat.
Rasounsul pe lung: Contractul este o intzelegere intre cele doua servicii ce mesaje pot fi trimise, si un contract schimbat ar insemna ca cele doua servicii numai pot comunica. Un serviciu poate implementa un nou contract (ALTER SERVICE ... (ADD CONTRACT ...). In general cind un contract se ...
-
Tabela mesaje are o singura coloana numita [mesaj] de tip XML. Deci insert-ul nu se poate compila:
Msg 213, Level 16, State 1, Procedure repl_insert, Line 17Insert Error: Column name or number of supplied values does not match table definition.
Ca sa pot sa te ajut te rog sa te asiguri ca codul SQL care-l postezi poate fi ...
-
Codul nu o ia pe latura ELSE, ci pe IF, insa functia dbo.boys este incorecta. Recomandarea mea este sa executzi procedura manual, din Management Studio cu exec [dbo].[repl_insert] pina cind este corecta si abia apoi sa activezi procedura pe queue.
-
@msgtype trebuie sa fie SYSNAME sau NVARCHAR(128), nu VARCHAR(10)
-
Deci in queue ai mesajul care-l asteptzi, de tip 'insertie'. Daca variabila care o testezi tu este NULL inseamna ca codul tau din procedura activata este incorect.
-
Deactiveaza procedura activata ALTER QUEUE ... WITH ACTIVATION (STATUS = OFF) apoi trimite un nou mesaj si verifica ce se afla in queue.
-
Potzi face un PRINT sau insert into tbl_boy @msgtype ca sa vezi exact ce message type name ai receptionat. Daca nu e 'insertie' ar putea fi NULL (daca nu ai receptionat nimic) sau 'http://schemas.microsoft.com/SQL/ServiceBroker/Error' sau 'http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog'
-
Probabil ca procedura activata a rulat si a consumat mesajele atunci. Ar trebuii sa pui un BEGIN TRANSACTION/COMMIT in procedurapentru a asigura consistenta. Deasemenea, verifica ca @conversation este NOT NULL pentru ca potzi fi activat si sa gasesti queue-ul gol (alta procedure tzi-a 'furat' mesajul).
Uitate in ERROLOG sau in application ...
... 15 ...
|
|
|