Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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 31/08/2007, 13h46   #1
Invité régulier
 
Inscription : février 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 49
Points : 9
Points : 9
Par défaut Valeur varchar dans un champ date.

Bonjour,

Je profite de votre base de connaissance pour une petite question, voila nous venons de migrer une base 8 en 9. Et une erreur est retourné dans un package.

Code :
NVL (pdateattribution, TO_CHAR (SYSDATE, 'dd/mm/yyyy'))
Erreur obtenue:

Code :
1
2
3
4
5
6
7
 
Request Failed
 
java.sql.SQLException: ORA-06510: PL/SQL : exception définie par l'utilisateur non traitée
ORA-06512: à "nom du package", ligne 1636
ORA-01843: ce n'est pas un mois valide
ORA-06512: à ligne 1

J'aimerai savoir si sous oracle 9 il est tjrs possible de mettre une valeur de type caractére dans un champ data, ou s'il s'agit d'un probléme de paramétrage de la nvlle base (paramétre tps, date etc ?)

Merci d'avance.

Cordialement un novice.
D_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 14h00   #2
Invité régulier
 
Inscription : février 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 49
Points : 9
Points : 9
S'agirait t'il d un prob de NLS_LANG ou NLS_DATE_FORMAT, le probléme c que je n'ai pas accés a la base, mais j'ai quand même le client qui me demande des infos.
D_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 14h07   #3
Membre actif
 
Avatar de Loyd1974
 
Inscription : août 2007
Messages : 176
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 176
Points : 172
Points : 172
Je dirais que le problème viendrait de la valeur du nls_date_format
Voici ce que j'obtiens en faisant un test rapide :
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
 
ALTER SESSION SET nls_date_format = 'DD/MM/YYYY'
 
CREATE TABLE lcr_tmp AS (SELECT SYSDATE AS mydate FROM dual WHERE 1=2);
 
INSERT INTO lcr_tmp
(mydate)
VALUES
('31/08/07');
 
1 enrg créé
 
INSERT INTO lcr_tmp
(mydate)
VALUES
('08/31/07')
 
Erreur ORA-01843
 
ALTER SESSION SET nls_date_format = 'MM/DD/YYYY'
 
INSERT INTO lcr_tmp
(mydate)
VALUES
('31/08/07')
 
Erreur ORA-01843
 
INSERT INTO lcr_tmp
(mydate)
VALUES
('08/31/07')
 
1 enrg créé
Donc, j'aurai tendance à dire de vérifier si le NLS_DATE_FORMAT vaut bien 'DD/MM/YYYY'
Loyd1974 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 14h33   #4
Invité régulier
 
Inscription : février 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 49
Points : 9
Points : 9
K, oui tu confirme ce que je pensai; merci beaucoup.
D_light est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h55.


 
 
 
 
Partenaires

Hébergement Web