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

Exécution et industrialisation Discussion :

Erreur d'execution Java


Sujet :

Exécution et industrialisation

  1. #1
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut Erreur d'execution Java
    Bonjour.

    A partir de Talend (version gratuite), j'envoie des donnees d'Oracle vers des tables MySQL.

    Dans le job, j'ai d'un cote l'objet correspondant a la requete sql Oracle et, de l'autre l'objet correspondant a ma table MySQL.

    La plupart de mes jobs fonctionnent sans probleme et les donnees se mettent a jour sans probleme dans MySQL.

    J'ai par contre un probleme java sur l'un de mes jobs comme visible plus bas.
    Pourtant, lorsque j'execute la requete sur Toad ou sous Talend (dans l'ecran ou je saisie cette meme requete, SQL Builder), la requete ne tombe pas en erreur.
    D'autre part :
    - si j'execute ce job sur un mois uniquement, le job s'execute sans erreur.
    - Si j'execute ce job sur deux mois, il tombe en erreur.
    - si j'execute ce job pour les donnees dont date > = 01/01/2011 il m'exporte 60 enregistrements avant de tomber en erreur.

    Pourtant la requete et simple et j'ai un autre job dans lequel la requete Oracle est beaucoup plus compliquee.

    En faisant l'extraction par un autre moyen, sur la periode du 01/01/2011 a aujourd'hui, il n'y a que 17416 enregistrements, ce qui n'est pas beaucoup.
    En verifiant s'il n'y a pas une valeur bizarre provoquant cette erreur (en faisant l'extraction sous Toad), je ne constate rien de particulier.

    Selon ce que j'ai pu trouver sur internet concernant DBError.java:134, il semblerait que ce soit du a un probleme de connection avec la base Oracle. Mais pourquoi ca ne pose aucun probleme pour les autres jobs alors que ca pose probleme ici ?

    Cdlt

    Exception in component tOracleInput_1
    java.sql.SQLException: Nadmiar numeryczny
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
    at oracle.jdbc.driver.OracleStatement.getIntValue(OracleStatement.java:4602)
    at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:536)
    at test.compensations_rfa_0_1.Compensations_RFA.tOracleInput_1Process(Compensations_RFA.java:829)
    at test.compensations_rfa_0_1.Compensations_RFA.runJobInTOS(Compensations_RFA.java:2559)
    at test.compensations_rfa_0_1.Compensations_RFA.main(Compensations_RFA.java:2386)
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction
    Lock wait timeout exceeded; try restarting transaction


  2. #2
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    Nadmiar numeryczny signifie en francais "Le nombre excessif" (ou Numeric overflow) d'après mon pote Google.
    Il n'y aurait pas un dépassement de capacité lors de la récupération d'une donnée de la requête ? genre un nombre très grand à mettre dans un Integer.
    Pensez à la fonction Recherche

  3. #3
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut
    Bonjour.

    Merci pour la reponse.

    Effectivement, un champ ID d'Oracle posait probleme. La valeur maxi de ce champ etait de 6 positions, dans Mysql j'avais le format INT 50.
    Je suppose que des valeurs dans ce champ n'etaient pas du genre INT.

    J'ai resolu mon probleme en changeant le format du champ dans MySQL pour Varchar.

    Merci.
    Cdlt,

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

Discussions similaires

  1. Erreur d'execution java
    Par proc02 dans le forum Général Java
    Réponses: 5
    Dernier message: 05/05/2013, 20h45
  2. erreur execution java.lang.OutOfMemoryError
    Par samuel4256 dans le forum Java EE
    Réponses: 0
    Dernier message: 07/03/2011, 09h28
  3. erreur sur execution d'un script externe à l'application java.
    Par diamonds dans le forum EDI et Outils pour Java
    Réponses: 24
    Dernier message: 06/11/2009, 18h46
  4. Réponses: 12
    Dernier message: 03/12/2008, 17h35
  5. [JVM]erreur d execution de java
    Par RR instinct dans le forum Langage
    Réponses: 1
    Dernier message: 27/10/2006, 12h47

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