Bonjour,
j'ai une erreur sur un de mes scripts et je ne comprend pas pourquoi...
*ce script fonctionne trés bien sur une autre machine, avec une base qui à la même structure mais pas le même contenu*mon job qui permet d'éxecuter cette procedure,
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 CREATE PROCEDURE SP_REC_PURGE @p_nb_jour int AS -- Declaration and initialisation de la variable de sauvegarde de @@Error. DECLARE @ErrorSave INT SET @ErrorSave = 0 -- Déclaration du status du curseur DECLARE @Statuscursor INT SET @Statuscursor = 0 DECLARE @li_nbre_of As Int -- Déclaration des variables DECLARE @Id_Rec AS varchar(10) DECLARE @Vers_Rec AS int -- Déclaration du curseur de la recherche des recettes DECLARE search_rec CURSOR LOCAL FOR Select ID_REC, VERS_REC From rec Where ETAT_REC = 2 and DATE_MODIF <= getdate() - @p_nb_jour -- Recherche des recettes Open search_rec Fetch next from search_rec Into @Id_Rec,@Vers_Rec -- Tant que la liste des recettes n'est pas terminée While @@Fetch_Status = 0 Begin set set @li_nbre_of = 0 Begin transaction set @li_nbre_of = (select count(*) from ord_fab where id_rec = @Id_Rec and vers_rec = @Vers_Rec) if (@li_nbre_of = 0) Begin delete rec where id_rec = @Id_Rec and vers_rec = @Vers_Rec set @ErrorSave = @@Error If (@ErrorSave = 0) Begin Commit transaction End Else Begin Rollback transaction End End -- Positionnement sur l'enregistrement suivant Fetch next from search_rec Into @Id_Rec,@Vers_Rec End Close search_rec Deallocate search_rec GO
est donc en croix avec le message suivant
si je demande des détailsThe job failed. The Job was invoked by User ****. The las step to run was step 1 (PURGE)
si je rajoute PRINT @@TRANCOUNT dans mon scriptExecuted as user: AUTORITE NT\SYSTEM.
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION satetement is missing.
Previous count = 0, current count = 9.
[SQLSTATE 25000](Error 266)
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing.
Previous count = 0, current count = 9.
[SQLSTATE 25000](Error 266)
The step failed.rien de nouverau,Executed as user: AUTORITE NT\SYSTEM.
1 [SQLSTATE 01000](Message 0)
2 [SQLSTATE 01000](Message 0)
3 [SQLSTATE 01000](Message 0)
4 [SQLSTATE 01000](Message 0)
5 [SQLSTATE 01000](Message 0)
6 [SQLSTATE 01000](Message 0)
7 [SQLSTATE 01000](Message 0)
8 [SQLSTATE 01000](Message 0)
9 [SQLSTATE 01000](Message 0)
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION satetement is missing.
Previous count = 0, current count = 9.
[SQLSTATE 25000](Error 266)
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing.
Previous count = 0, current count = 9.
[SQLSTATE 25000](Error 266)
The step failed.
il me dit juste qu'il compte 9 fois mais je comprend pas ce qui le dérange avec le Previous count = 0, current count = 9![]()
Partager