|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Inscription : novembre 2008 Messages : 104 ![]() |
Bonjour,
Dans un trigger AFTER INSERT, un curseur est ouvert. Le traitement dans le curseur est sous forme d'une procédure ayant deux paramètres (dateDebut, dateFin) de type DATETIME. Les deux dates sont récupérées à partir de l INSERTED, cad, ces dates sont saisies à partir d’un écran d’une application. Le traitement permet de calculer des valeurs et d’insérer des nouvelles instances dans une autre table. Le nombre d’instances insérés égale aux nombres de jours entre les dates en paramètres. Question: • Si les deux dates sont proches, le traitement se déroule d'une manière correcte. • Sinon (cad date fin n’est pas proche de date début, exemple date fin=date début+12mois) Un message d’erreur apparaît indique l’expiration du délai d’attente. Voici une partie de message d’erreur : « Expiration du délai d’attente. Le délai d’attente s’est écoulé avant la fin de l’opération ou le serveur ne répond pas. Avertissement : La valeur NULL est éliminée par un agrégat ou par une autre opération SET »(plusieurs fois) J ai pas arrivé à comprendre l’origine de ce message, est ce que un problème de codage de trigger ou de paramétrage de serveur base des données sachant que la version de serveur est SQL2008R2. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Lors de la connexion de vote application vous avez une paramètre qui est le timeout de réponse, voir le time out de query
Le problème est qu'utiliser un curseur dans un trigger est particulièrement contre performant. Il faut faire des requêtes SQL. Dans votre cas, il faut ajouter une table de calendrier à votre base afin de générer ces dates de manière ensembliste. Lisez ceci : http://sqlpro.developpez.com/cours/gestiontemps/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Vous utilisez ADO.NET?
Vous pouvez régler le CommandTimeOut(par défaut 30 secondes...) sur votre SqlCommand/OleDbCommand oi IdbCommand. Mais suivez les conseils de SQLPRO et refaites votre TRIGGER...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com