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

SGBD Perl Discussion :

[sgbd] [DBD::Oracle] erreur ORA-03120


Sujet :

SGBD Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 27
    Points : 19
    Points
    19
    Par défaut [sgbd] [DBD::Oracle] erreur ORA-03120
    Bonjour,

    D'abord les caractéristiques :
    OS : red hat 9.2
    Perl V 5.8.0
    DBD-Oracle-1.16
    DBI-1.48
    Bases oracle cible 8.1.7

    Voilà, je suis actuellement en train de concevoir un programme Perl pour alimenter une base oracle (client) à partir d'une seconde base oracle (fournisseur). Ces deux bases se trouvent sur des machines distinctes (OS AIX), mon programme est quant à lui lancé sur une troisième machine.
    Pour cela j'ai créé un data base link de ma base fournisseur au niveau de ma base cliente. Lorsque je me connecte à ma base cliente et que je tente d'utiliser le database link dans mon programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      $sth = $dbh->prepare("select count(id) from t_66\@dbl_M01");
       $sth->execute() ;
    J'obtiens le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBD::Oracle::st execute failed: ORA-03120: two-task conversion routine: integer overflow (DBD ERROR: OCIStmtExecute) [for Statement "select count(id) from t_66@dbl_M01"] at ./update.pl line 29.
    Hors lorsque je tente la même requête depuis ma machine via sqlplus en me connectant à mon base cliente tout fonctionne.

    Ma connexion à la base cliente est Ok et les requête fonctionne bien. Le problème concerne donc l'accès à la base fournisseur (identique en terme de caractéristique à la base client) via le database link dans Perl.

    Est-ce que le dernier module DBD::Oracle n'est pas pleinement compatible avec les versions 8 d'Oracle ?

    Je ne sais plus trop par où attaquer. La seule info sur le sujet proposait de recompiler Perl, DBI et Oracle avec l'option sans les threads.

    Si quelqu'un a été confronté à ce problème ou a une idée il est le bien venu !

    A+ et merci


    [/code]

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Ouf !
    J'ai trouvé la solution, il semblerait que ce soit un bug Oracle.

    Pour info, aux futurs galériens, il faut ajouter { ora_check_sql => 0 } à la préparation de la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sth = $dbh->prepare("select count(id) from s66\@DBL_M1", { ora_check_sql => 0 });
    Voilà.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème sur oracle: erreur ora-01403
    Par kkest dans le forum Forms
    Réponses: 1
    Dernier message: 09/11/2007, 14h05
  2. [Oracle] Erreur ORA-12154 et ORA-12545
    Par Pakkaï dans le forum SQL
    Réponses: 14
    Dernier message: 14/09/2006, 18h08
  3. Oracle erreur ORA-01000
    Par dd16 dans le forum Bases de données
    Réponses: 5
    Dernier message: 13/05/2006, 14h30
  4. [oracle] erreur ora-12500
    Par youse dans le forum Oracle
    Réponses: 7
    Dernier message: 24/04/2006, 18h29
  5. [sgbd] dbd::oracle
    Par vince26 dans le forum SGBD
    Réponses: 2
    Dernier message: 25/05/2005, 08h51

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