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

PL/SQL Oracle Discussion :

Problème de data


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut Problème de data
    Bonjour à tous,
    Aujourd'hui je suis confronté à un problème auquel je dois trouver une solution.

    Voici les données du problème:
    Je dispose d'une base de données Oracle 9i.
    J'ai un binaire qui lance une succession de procédures oracle (environ 80). Ces procédures ont pour objectif de remplir une table principale (que j'appelerai T1).
    Ces procédures peuvent utilisées une ou plusieurs tables temporaires (TMP1, TMP2, ...).

    Le problème: certaines données stockées dans les tables temporaires sont plus grandes que les champs destinés à les accueillir dans T1.
    Exemple:
    - table TMP1.CHAMP1 --> VARCHAR2(50)
    - table T1.DEST --> VARCHAR2(30)
    Dans ce cas, l'insertion d'une donnée de 40 char de TMP1.CHAMP1 vers T1.DEST provoque une exception oracle, que vous connaissez tous.

    Je dois trouver une solution pour éviter cette exception et ne pas arrêter le process.

    Ma première idée était d'utiliser un trigger pour faire un substr. Dommage, le trigger passe après le check des données.

    Ma seconde et dernière idée est d'aligner la structure des tables temporaires avec la table final. Problème: beaucoup de procédures à corriger, pas mal de table à vérifier + possible impacts sur le système.

    Maintenant je sollicite votre aide, si vous avez de meilleures idées (s'il en existe lool). Merci d'avance

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par keyra Voir le message
    ...
    Ma première idée était d'utiliser un trigger pour faire un substr. Dommage, le trigger passe après le check des données.
    ...
    Oui, mais tu peux faire les "substr" dans des triggers sur les tables temporaires où il n'y pas de problème de "check des données".

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Effectivement c'est une idée. Je vais étudié cette solution ! Merci.
    Si d'autres personnes ont des idées, je suis toujours preneur

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Salut,

    Et pourquoi pas simplement augmenter la taille de tes colonnes.
    D'autant que tes batchs font sûrement de l'insertion en masse, si tu rajoutes des triggers for each row dessus, tu risques de ruiner tes perfs.
    Bon, c'est juste une idée, c'est peut être pas faisable dans ton cas.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par skuatamad Voir le message
    Salut,

    Et pourquoi pas simplement augmenter la taille de tes colonnes.
    D'autant que tes batchs font sûrement de l'insertion en masse, si tu rajoutes des triggers for each row dessus, tu risques de ruiner tes perfs.
    Bon, c'est juste une idée, c'est peut être pas faisable dans ton cas.
    Oui oui j'y ai pensé. C'est ma seconde idée d'ailleurs. Le problème majeur de cette solution étant les impacts sur le reste du système. Je garde cette solution dans un coin quand même lool.

Discussions similaires

  1. problème de Data truncated
    Par Entela dans le forum MySQL
    Réponses: 3
    Dernier message: 13/02/2009, 12h24
  2. Problème load data et bigint
    Par _guigui_95 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/10/2006, 12h35
  3. problème de data source
    Par gloglo dans le forum Struts 1
    Réponses: 1
    Dernier message: 28/09/2006, 14h24
  4. [MySQL] problème echo $data[' xxxx ']
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 03/03/2006, 12h07
  5. Problème LOAD DATA et variables
    Par oops45 dans le forum Administration
    Réponses: 10
    Dernier message: 13/12/2005, 08h37

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