J'utilise une tache plannifiée windows qui me permet de lancer un script sql.
voici la ligne de commande principale du batch :
Mon code sql est dans le fichier TEST.sql (vu depuis TOAD):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 isql -U %USER% -P %PASS% -S %SERVER% -d %DBASE% -i TEST.sql -n
le probleme c'est que la fonction est interpretée par le serveur comme :
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 -- DF4 - DROP FONCTION dbo.decodemonth IF exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[decodemonth]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[decodemonth] GO -- CF4 - CREATE FONCTION dbo.decodemonth CREATE FUNCTION dbo.decodemonth ( @date as datetime ) returns varchar(15) as begin Declare @NB integer Declare @NOM varchar(15) set @NB = month(@date) If @NB = 1 SET @NOM = 'Janvier' If @NB = 2 SET @NOM = 'Février' If @NB = 3 SET @NOM = 'Mars' If @NB = 4 SET @NOM = 'Avril' If @NB = 5 SET @NOM = 'Mai' If @NB = 6 SET @NOM = 'Juin' If @NB = 7 SET @NOM = 'Juillet' If @NB = 8 SET @NOM = 'Août' If @NB = 9 SET @NOM = 'Septembre' If @NB = 10 SET @NOM = 'Octobre' If @NB = 11 SET @NOM = 'Novembre' If @NB = 12 SET @NOM = 'Décembre' return @NOM END GO
en faite les accens ont mal été interprété
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 CREATE FUNCTION dbo.decodemonth ( @date as datetime ) returns varchar(15) as begin Declare @NB integer Declare @NOM varchar(15) set @NB = month(@date) If @NB = 1 SET @NOM = 'Janvier' If @NB = 2 SET @NOM = 'FÚvrier' If @NB = 3 SET @NOM = 'Mars' If @NB = 4 SET @NOM = 'Avril' If @NB = 5 SET @NOM = 'Mai' If @NB = 6 SET @NOM = 'Juin' If @NB = 7 SET @NOM = 'Juillet' If @NB = 8 SET @NOM = 'Ao¹t' If @NB = 9 SET @NOM = 'Septembre' If @NB = 10 SET @NOM = 'Octobre' If @NB = 11 SET @NOM = 'Novembre' If @NB = 12 SET @NOM = 'DÚcembre' return @NOM END
quelqu'un a t'il une idée !
Merci !
Partager