Bonjour j'utilise trasact SQL pour synchroniser 2 bases, une en SQL server et l'autre sous mysql
J'ai crée une procedure qui update une valeur de type var char dans sql serveur dans une colonne de type varchar dans une colonne mysql.
Malheureusement, lorsque j'excute la procedure, j'obtiens l'erreur suivante :
ligne 1 : syntaxe incorrecte vers 'Horizontale'
La ligne incriminée dans sql serveur est la suivante :
"Etui Horizontal noir pince + passant Taille Small (5200/5610...)"
La procedure stocké est :
Bizarement lorsque je change la variable @designation par le texte :
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
22 CREATE PROCEDURE Syncro_designation AS SET NOCOUNT ON BEGIN DECLARE @IdProduit INTEGER DECLARE @Designation VARCHAR(100) DECLARE @command VARCHAR(1000) DECLARE FOURNISSEURS CURSOR FOR select id_produit,AR_Design AS Designation from OPENQUERY(web,'select id_produit,sage_ref1, sage_ref2 from produit'),F_ARTICLE where (sage_ref1=AR_Ref) AND (dateDiff(hh,AR_DateModif,getdate())<48 ) AND (AR_sommeil <>1) AND id_produit=3648 OPEN FOURNISSEURS FETCH NEXT FROM FOURNISSEURS INTO @IdProduit,@Designation WHILE @@FETCH_STATUS = 0 BEGIN SET @command='update OPENQUERY(web,"select * from produit") set description=' + @Designation + ' where id_produit=' + CAST(@IdProduit as VARCHAR(10)) EXEC (@command) FETCH NEXT FROM FOURNISSEURS INTO @IdProduit,@Designation END CLOSE FOURNISSEURS DEALLOCATE FOURNISSEURS END GO
"Etui Horizontal noir pince + passant Taille Small (5200/5610...)"
cela marche parfaitement
Aurais je oublié qq chose?
Merci encore pour votre aide et longue à ce merveilleux site.
Alex
Partager