2009-11-02 5 views
2

J'ai un problème avec la création d'un simple déclencheur MySQL en C#. J'utilise StringBuilder pour construire la chaîne de commande suivante:MySQL Trigger par programmation en C#

DELIMITER $$

DROP TRIGGER/* 50032 * SI EXISTE/dbname!. table $$

CREATE TRIGGER dbname. inserttrigger APRÈS INSÉRER SUR dbname. table

POUR CHAQUE ROW BEGIN

...

FIN;

$$

DELIMITER; Quand j'essaye cmd.executeNonQuery() une exception se produit (erreur dans la syntaxe SQL) qui est en dépit des nouvelles lignes se référant à la ligne 1. - Le Stringbuilder mettra "\ r \ n" pour chaque AppendLine().

Si je copie et colle la commande à la console MySQL, cela fonctionne bien.

Vive

Répondre

1

Cela semble have been a bug in MySQL la déclaration DELIMITER, pas sûr que c'est la même chose que vous frapper. A été corrigé dans une version récente de MySQL. Si vous n'utilisez pas la dernière version, essayez de mettre à jour MySQL et réessayez.

+0

Merci Abel. J'utilise 5.0.77. Je vais passer à la version 5.1. –