Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2007, 14h35   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 67
Points : 67
Par défaut pb compilation trigger

salut ,
j'ai un trigger stocké qui comporte le code suivant
Code :
1
2
3
4
5
6
7
8
 
 SELECT VAL1  INTO sold_
  FROM init_grh
  WHERE COD_SOC  = :new.cod_soc_jur
   AND  LIB      = 'SOLD_CNG';
  exception when no_data_found then
     sold_ := 'DEM';
  end;
lors de la compilation il génére l'erreur suivant en se pointant sur :new
Code :
1
2
3
 
7/20     PLS-00553: nom de jeu de caractères non reconnu
0/0      PL/SQL: Compilation unit analysis terminated
En ajoutant que sur la méme base Oracle9i Enterprise Edition Release 9.2.0.6.0 mais dans un autre user le trigger se compile correctement
merci pour votre aide;
daliok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 14h39   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212


http://www.developpez.net/forums/sho....php?p=2035211
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 14h42   #3
Membre du Club
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 67
Points : 67
j'ai fait une recherche et j'ai consulter ce lien méme mais sans resultat
daliok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 14h44   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
ce serait peut-être pas mal de nous donner le code complet et le character set utilisé ainsi que le paramétrage du poste client.

Le NLS_CHARACTERSET aussi
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 14h55   #5
Membre du Club
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 67
Points : 67
le code complet
Code :
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
 
CREATE OR REPLACE TRIGGER "TRG_MAJ_SOLD_CNG" AFTER UPDATE OF VALID ON USER_COFAT.DEM_CNG REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW  
DECLARE
SOLD_ varchar2(10);
BEGIN
 begin
  SELECT VAL1  INTO sold_
  FROM init_grh
  WHERE COD_SOC  = :new.cod_soc_jur
   AND  LIB      = 'SOLD_CNG';
  exception when no_data_found then
     sold_ := 'DEM';
  end;
 
  IF :new.valid = 'O' then
   IF sold_='DEM' then
       maj_sold_cng(:new.cod_soc,:new.mat_pers,:new.annee_cng,:new.code_m,:new.nbr_jours);
   end IF;
 
    UPDATE cal_pers
       SET prec_cod_m = cod_m, cod_m = :new.code_m
     WHERE cod_soc = :new.cod_soc
       AND mat_pers = :new.mat_pers
       AND to_date(lpad(to_char(days), 2, '0') ||
                   lpad(to_char(months), 2, '0') ||
                   lpad(to_char(years), 4, '0'),
                   'dd/mm/yyyy') BETWEEN :new.dat_debut AND :new.dat_fin
       AND cod_m NOT IN ('F', 'RH');
  end IF;
  IF :new.valid = 'A' then
    IF sold_ ='DEM' then
       maj_sold_cng_annul(:new.cod_soc,:new.mat_pers,:new.annee_cng,:new.code_m,:new.nbr_jours);
    end IF;
    UPDATE cal_pers
       SET cod_m = prec_cod_m
     WHERE cod_soc = :new.cod_soc
       AND mat_pers = :new.mat_pers
       AND to_date(lpad(to_char(days), 2, '0') ||
                   lpad(to_char(months), 2, '0') ||
                   lpad(to_char(years), 4, '0'),
                   'dd/mm/yyyy') BETWEEN :new.dat_debut AND :new.dat_fin
       AND cod_m NOT IN ('F', 'RH');
  end IF;
 
end;
et le nls_lang de la base est :AMERICAN_AMERICA.AR8MSWIN1256
et le nls_lang du client est :FRENCH_FRANCE.WE8MSWIN1252
daliok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 15h00   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
bah voila, il faut le même character set ce qui n'est pas le cas ici :
AR8MSWIN1256 pour la base et WE8MSWIN1252 pour le poste client
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 15h05   #7
Membre du Club
 
Inscription : novembre 2006
Messages : 190
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 190
Points : 67
Points : 67
merci encore une fois orafrance
mais peut étre que ce n'est pas ça le pb car le méme trigger et sur la méme base mais dans un autre user le trigger se compile correctement
daliok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2007, 15h18   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
compilé avec la même machine connecté au même user ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h31.


 
 
 
 
Partenaires

Hébergement Web