Bonjour,
Voilà je ne trouve pas de solution à mon problème et donc je le poste au cas où.
J'ai une table comme celle-ci:
Quand je joue la requête suivante, je n'ai aucun problème. Elle marche parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE [dbo].[fidelisation_point]( [code_point] [int] IDENTITY(1,1) NOT NULL, [code_client] [int] NOT NULL, [date_validite] [datetime] NOT NULL, [nb_point_restant] [int] NOT NULL
Je la place alors dans un job, qui tourne tout les jours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UPDATE client_newsletter SET maj_emailvision = 1 WHERE code_client in (SELECT code_client FROM fidelisation_point WHERE nb_point_restant>0 and date_validite between CONVERT(varchar,dateadd (dd,-1,getdate()),103) + ' 00:00:00' and CONVERT(varchar,getdate(),103) + ' 00:00:00')
Aucun problème le 2,3,4,5,6,7,8,9,10,11,12 du mois. En revanche tous les autres jours du mois je me retrouve avec le job en erreur.
Voilà le message d'erreur que j'obtiens dans l'historique du job:
Je suis sur que le problème viens de l’interprétation des dates. Jour et mois inversé. Du coup ça marche les premiers jours du mois et plus ensuite.07/17/2012 00:45:00,Expiration_Pts_Fidelite,Erreur,0,FRD074P02DBW\NODE1,Expiration_Pts_Fidelite,(Job outcome),,The job failed. The Job was invoked by Schedule 46 (Mise a jour email_vision pour point de fidelite perime). The last step to run was step 1 (selection des points fidelites arrives a echeances et UPDATE du client_newsletter).,00:00:00,0,0,,,,0
07/17/2012 00:45:00,Expiration_Pts_Fidelite,Erreur,1,FRD074P02DBW\NODE1,Expiration_Pts_Fidelite,selection des points fidelites arrives a echeances et UPDATE du client_newsletter,,Executed as user: FRD074P02DBW\Usr_sqlagent. The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. [SQLSTATE 22007] (Error 242) The statement has been terminated. [SQLSTATE 01000] (Error 3621). The step failed.,00:00:00,16,3621,,,,0
Par contre je n'arrive pas à m'expliquer pourquoi ça marche en dehors du job et pas dans le job.![]()
![]()
Partager