Sur SQL server 2000, j'ai un trigger qui update une table situé sur un autre
server.
J'utilise le Linked_server, seulement quand le trigger est lancé,j'ai le
message d'erreur suivant : "Heterogeneous queries require the ANSI_NULLS and
ANSI_WARNINGS trigger".
J'ai appliqué les solutions que j 'ai trouvé dans certains forum à savoir
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO en tête du trigger mais rien à faire, toujours le même message d'erreur.
Aussi j'ai tenté de placer ces SET ANSI_NULLS,... au dessus de chaque query...
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
set xact_abort on
update servername.dbname.dbo.table ...
Mais rien à faire toujours le même problème. Est-ce quelqu'un à une solution
s'il vous plait ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lionel Billon (MVP)
Bonjour,
Un trigger n'est ni plus ni moins qu'une procédure stockée executée automatiquement. De ce fait, les memes regles s'appliquent. Il se trouve que les commandes SET ANSI_NULLS et SET ANSI_WARNING seront purement et simplement ignorées si vous les mettez à l'intérieur du code de la procédure ou du trigger. En fait, c'est lors de la création (ou modification) de la procédure ou du trigger que SQL Server sauvegarde ces éléments. De ce fait, supprimez votre trigger puis recréer le (DROP puis CREATE) ou utilisez la commande ALTER et cette fois ci spécifiez les commandes SET ANSI AVANT les commandes DROP/CREATE ou ALTER TRIGGER.
SET ANSI_WARNINGS ON GO CREATE TRIGGER ... Ensuite, assurez vous avant d'executer votre code que les paramètres sont correctement passés à votre connexion.
HTH, Lionel Billon (MVP)
"ILyasse" a écrit :
Bonjour,
Sur SQL server 2000, j'ai un trigger qui update une table situé sur un autre server. J'utilise le Linked_server, seulement quand le trigger est lancé,j'ai le message d'erreur suivant : "Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS trigger".
J'ai appliqué les solutions que j 'ai trouvé dans certains forum à savoir
SET ANSI_NULLS ON SET ANSI_WARNINGS ON GO en tête du trigger mais rien à faire, toujours le même message d'erreur. Aussi j'ai tenté de placer ces SET ANSI_NULLS,... au dessus de chaque query... SET ANSI_NULLS ON SET ANSI_WARNINGS ON set xact_abort on update servername.dbname.dbo.table ...
Mais rien à faire toujours le même problème. Est-ce quelqu'un à une solution s'il vous plait ?
Bonjour,
Un trigger n'est ni plus ni moins qu'une procédure stockée executée
automatiquement. De ce fait, les memes regles s'appliquent.
Il se trouve que les commandes SET ANSI_NULLS et SET ANSI_WARNING
seront purement et simplement ignorées si vous les mettez à l'intérieur du
code
de la procédure ou du trigger.
En fait, c'est lors de la création (ou modification) de la procédure ou du
trigger que
SQL Server sauvegarde ces éléments.
De ce fait, supprimez votre trigger puis recréer le (DROP puis CREATE) ou
utilisez la commande ALTER et cette fois ci spécifiez les commandes SET ANSI
AVANT les commandes DROP/CREATE ou ALTER TRIGGER.
SET ANSI_WARNINGS ON
GO
CREATE TRIGGER ...
Ensuite, assurez vous avant d'executer votre code que les paramètres sont
correctement passés à votre connexion.
HTH,
Lionel Billon (MVP)
"ILyasse" a écrit :
Bonjour,
Sur SQL server 2000, j'ai un trigger qui update une table situé sur un autre
server.
J'utilise le Linked_server, seulement quand le trigger est lancé,j'ai le
message d'erreur suivant : "Heterogeneous queries require the ANSI_NULLS and
ANSI_WARNINGS trigger".
J'ai appliqué les solutions que j 'ai trouvé dans certains forum à savoir
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO en tête du trigger mais rien à faire, toujours le même message d'erreur.
Aussi j'ai tenté de placer ces SET ANSI_NULLS,... au dessus de chaque query...
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
set xact_abort on
update servername.dbname.dbo.table ...
Mais rien à faire toujours le même problème. Est-ce quelqu'un à une solution
s'il vous plait ?
Un trigger n'est ni plus ni moins qu'une procédure stockée executée automatiquement. De ce fait, les memes regles s'appliquent. Il se trouve que les commandes SET ANSI_NULLS et SET ANSI_WARNING seront purement et simplement ignorées si vous les mettez à l'intérieur du code de la procédure ou du trigger. En fait, c'est lors de la création (ou modification) de la procédure ou du trigger que SQL Server sauvegarde ces éléments. De ce fait, supprimez votre trigger puis recréer le (DROP puis CREATE) ou utilisez la commande ALTER et cette fois ci spécifiez les commandes SET ANSI AVANT les commandes DROP/CREATE ou ALTER TRIGGER.
SET ANSI_WARNINGS ON GO CREATE TRIGGER ... Ensuite, assurez vous avant d'executer votre code que les paramètres sont correctement passés à votre connexion.
HTH, Lionel Billon (MVP)
"ILyasse" a écrit :
Bonjour,
Sur SQL server 2000, j'ai un trigger qui update une table situé sur un autre server. J'utilise le Linked_server, seulement quand le trigger est lancé,j'ai le message d'erreur suivant : "Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS trigger".
J'ai appliqué les solutions que j 'ai trouvé dans certains forum à savoir
SET ANSI_NULLS ON SET ANSI_WARNINGS ON GO en tête du trigger mais rien à faire, toujours le même message d'erreur. Aussi j'ai tenté de placer ces SET ANSI_NULLS,... au dessus de chaque query... SET ANSI_NULLS ON SET ANSI_WARNINGS ON set xact_abort on update servername.dbname.dbo.table ...
Mais rien à faire toujours le même problème. Est-ce quelqu'un à une solution s'il vous plait ?