IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

ORA-01840: valeur entrée pas assez longue pour le format de la date


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut ORA-01840: valeur entrée pas assez longue pour le format de la date
    Bonjour à tous,

    J'ai migré récemment une base 9i d'un serveurA vers un serveurB.

    Hors je rencontre un problème, lorsque j'effectue ce genre de requêtes
    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
    SELECT
      BBBB.TDPROD,
      BBBB.TDTYPE,
      BBBB.TDWHS,
      BBBB.DWMFAC,
      (BBBB.TDQTY *DCIC.ISTCTT),
      BBBB.TDSCST,
      BBBB.TDQTY,
      BBBB.TDQTY,
      Sum(BBBB.TDQTY *DCIC.ISTCTT)
    FROM
      BBBB,
      DCIC,
      DIIM
    WHERE
      ( DIIM.IDPROD=BBBB.TDPROD(+)  )
      AND  ( DCIC.IDCPRD(+)=DIIM.IDPROD  )
      AND  ( BBBB.DWMFAC = DCIC.IDCFAC  )
      AND  ( BBBB.DWMFAC = DCIC.IDCFAC  )
      AND  (
    TO_NUMBER(TO_CHAR(to_date(to_char(BBBB.DTTDTE),'YYYYMMDD'),'SYYYY'))  =  2008
      AND  TO_NUMBER(TO_CHAR(to_date(to_char(BBBB.DTTDTE),'YYYYMMDD'),'MM'))  =  04
      )
    GROUP BY
      BBBB.TDPROD, 
      BBBB.TDTYPE, 
      BBBB.TDWHS, 
      BBBB.DWMFAC, 
      (BBBB.TDQTY *DCIC.ISTCTT), 
      BBBB.TDSCST, 
      BBBB.TDQTY, 
      BBBB.TDQTY;
    Sur le serverA, cela fonctionne.
    Sur le serverB, j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERREUR à la ligne 21 :
    ORA-01840: valeur entrée pas assez longue pour le format de la date
    J'ai donc effectué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL> SELECT * FROM NLS_DATABASE_PARAMETERS ;
    Sur le serverA et B, j'ai le même paramétrage :
    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
    PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               WE8ISO8859P1
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
     
    PARAMETER                      VALUE
    ------------------------------ ----------------------------------------
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY              $
    NLS_COMP                       BINARY
    NLS_LENGTH_SEMANTICS           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    NLS_NCHAR_CHARACTERSET         AL16UTF16
    NLS_RDBMS_VERSION              9.2.0.8.0
     
    20 ligne(s) sélectionnée(s).
    Une idée sur l'origine du problème?

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TO_NUMBER(TO_CHAR(to_date(to_char(BBBB.DTTDTE),'YYYYMMDD'),'MM'))  =  04
    c'est pas plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(BBBB.DTTDTE),'MM') = '04'

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Citation Envoyé par orafrance Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TO_NUMBER(TO_CHAR(to_date(to_char(BBBB.DTTDTE),'YYYYMMDD'),'MM'))  =  04
    c'est pas plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(BBBB.DTTDTE),'MM') = '04'
    Je ne suis pas responsable des requêtes, mais le fait est qu'elle marchait sur le serverA et plus sur le serverB après migration.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    migration ou copie ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Citation Envoyé par orafrance Voir le message
    migration ou copie ?
    Disons que j'ai récupéré le "bébé" en cours de route.
    Je pense qu'il avait utilisé dbca pour recréer l'instance à partir d'un modèle créé sur la premiere puis export/import.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 9
    Par défaut
    Bonjour,

    J'ai un peu avancer.

    Sur le serveurA, la requête passe quelque soit la date.
    Sur le serveurB, la même requête est en erreur s'il y a des dates sous forme : "99999999":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERREUR à la ligne 21 :
    ORA-01840: valeur entrée pas assez longue pour le format de la date
    Alors qu'il ne le fait pas sur le serverA.

    Une idée sur le paramètre en cause ?

Discussions similaires

  1. Parce que l'Europe, c'est pas assez bien pour nous !
    Par pmithrandir dans le forum Politique
    Réponses: 76
    Dernier message: 26/05/2014, 19h47
  2. L’Inde pas assez sécurisée pour les données ?
    Par Gordon Fowler dans le forum Actualités
    Réponses: 15
    Dernier message: 27/06/2013, 12h21
  3. awk pour le format de la date
    Par ensienne dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 18/09/2012, 18h33
  4. Réponses: 7
    Dernier message: 11/09/2006, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo