Bonjour,

Je travaille sur un projet C# - SQL Server 2005 qui utilise les service broker.
Il m'est demandé de trouver un moyen de créer dynamiquement des route en fonction de paramètres propre à l'appli.

Actuellement je tente le coup en passant par une procedure stoquee, mais là le bas blesse : il m'est impossible de faire un create route en utilisant ce moyen... en tout cas j'y arrive pas (le vérificateur de code bloque).

Quelqu'un a t il déjà été confronté au problème ?
Peut être ais je oublié qqch dans ma proc ?

Help

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
CREATE PROCEDURE PR_SB_UTIL_CREER_ROUTE
	@machine_name		varchar(12),
	@serviceBrokerID	uniqueidentifier
AS
BEGIN
	DECLARE @routeName sysname; -- varchar(300)
	DECLARE @address varchar(32);
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
 
	SET @routeName = 'ROUTE_' + @machine_name + '_'+ CAST(@serviceBrokerID As varchar(255));
	SET @address = 'TCP://' + @machine_name + ':4022';
 
	CREATE ROUTE @routeName WITH
		BROKER_INSTANCE = @serviceBrokerID,
		SERVICE_NAME = @machine_name,
		ADDRESS = @address;
 
END
Erreurs :
Msg 102, Level 15, State 1, Procedure PR_SB_UTIL_CREER_ROUTE, Line 15
Syntaxe incorrecte vers '('.
Msg 319, Level 15, State 1, Procedure PR_SB_UTIL_CREER_ROUTE, Line 15
Syntaxe incorrecte près du mot clé « with ». Si l'instruction est une expression de table commune ou une clause xmlnamespaces, l'instruction précédente doit se terminer par un point-virgule.

la ligne 15 correspond au CREATE ROUTE @routeName
Merci d'avance !