none
SQL-Broker: Message erscheint nicht in der Queue RRS feed

  • Frage

  • Guten Morgen,

     

    ich habe folgenden Code mit dem ich gerade teste

     

    --********************************************************************
    --*  Sending a message from the InitiatorService to the TargetService
    --********************************************************************
    BEGIN TRY
    	BEGIN TRANSACTION;
    		DECLARE @ch UNIQUEIDENTIFIER
    		DECLARE @msg NVARCHAR(MAX);
    
    		BEGIN DIALOG CONVERSATION @ch
    			FROM SERVICE [InitiatorService]
    			TO SERVICE 'TargetService'
    			ON CONTRACT [http://ssb.csharp.at/SSB_Book/c03/HelloWorldContract]
    			WITH ENCRYPTION = OFF;
    
    		SET @msg = 
    			'<HelloWorldRequest>
    					Hello
    			</HelloWorldRequest>';
    
    		SEND ON CONVERSATION @ch MESSAGE TYPE [http://ssb.csharp.at/SSB_Book/c03/RequestMessage] (@msg);
    	COMMIT
    END TRY
    BEGIN CATCH
    	ROLLBACK TRANSACTION
    END CATCH
    GO
    
    --********************************************************************
    --*  View the sent message on the queue "TargetQueue"
    --********************************************************************
    SELECT * FROM TargetQueue
    GO
    
    --********************************************************************
    --*  View the created conversation endpoints
    --********************************************************************
    SELECT * FROM sys.conversation_endpoints
    GO
    
    

    Messagetype, Queue, Service und Contract werden über ein Script angelegt.

    In einer neuen, leeren Datenbank funktioniert alles. D. H. die Message erscheint in der TargetQueue und auch in sys.conversation_endpoints erscheinen zwei Einträge.

    Mit den gleichen Scripts in einer MS Dynamics NAV DB angelegt erscheint in der TargetQueue keine Message und in sys.conversation_endpoints nur ein Eintrag (is_initiator=1), der zweite Eintrag (is_initator=0) fehlt.

    Die einzige Besonderheit der NAV-DB ist, dass mit -t4616 (TraceFlag) gestartet wird. Ansonsten laufen beide auf der selben SQL-Instanz.

    Irgendeine Idee wo der Fehler sein könnte?


    Volker

     


    Edit:

    SQL2008 R2


    Edit_2:
    Ich habe jetzt noch einmal auf einer weiteren Instanz ohne -T4616 mit ein jungfräulichen NAV-Demo-DB probiert. Ergebnis bleibt wie oben.
    Freitag, 16. September 2011 07:28

Antworten

  • Hallo Volker,

    in die Falle bin ich auch schon getappt. Das "unschöne" ist ja, das der Anlage und beim Senden weder Fehler noch eine Warnung kommt, es passiert einfach nur nichts.

    Also vorher immer prüfen:

    SELECT name, is_broker_enabled
    FROM sys.databases
    


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    • Als Antwort vorgeschlagen antomik Freitag, 16. September 2011 21:24
    • Nicht als Antwort vorgeschlagen antomik Freitag, 16. September 2011 21:24
    • Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 21. September 2011 14:51
    Freitag, 16. September 2011 15:01

Alle Antworten

  • Ich trau es mich ja gar nicht zu sagen:

    wenn SQL-Broker aktiviert = false, dann kann es nie was werden. Jetzt geht es.


    Volker

    Freitag, 16. September 2011 09:44
  • Hallo Volker,

    in die Falle bin ich auch schon getappt. Das "unschöne" ist ja, das der Anlage und beim Senden weder Fehler noch eine Warnung kommt, es passiert einfach nur nichts.

    Also vorher immer prüfen:

    SELECT name, is_broker_enabled
    FROM sys.databases
    


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    • Als Antwort vorgeschlagen antomik Freitag, 16. September 2011 21:24
    • Nicht als Antwort vorgeschlagen antomik Freitag, 16. September 2011 21:24
    • Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 21. September 2011 14:51
    Freitag, 16. September 2011 15:01
  • Hallo volker straehle,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Mittwoch, 21. September 2011 14:51
    Moderator