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

Oracle Discussion :

Oracle 11 et loadjava prennent RDV aux Invalides


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Oracle 11 et loadjava prennent RDV aux Invalides
    Bonjour à tous

    Je viens de m'inscrire afin de vous demander si vous avez déjà rencontré le problème suivant, en espérant que vous pourrez m'aider à me dépatouiller d'une situation qui m’empêche sérieusement d'avancer dans mes développement :

    Je travaille depuis quelques temps pour le compte d'un client sur un projet sous oracle 11, qui invoque des classes java que je charge sous forme de jars par la commande loadjava.
    Les classes java contiennent un code assez ancien et désuet utilisant des bibliothèques de parser sax. Je n'avais pas de souci à les charger jusqu'à il y a quelques temps.

    Pour une raison que je n’arrive pas à déterminer clairement, et alors que ce n'était pas le cas auparavant, loadjava, lancé avec l'option « resolve » - u et -f, retourne un certain nombre d’erreurs de compilation , notamment à propos de classes dépréciées dans le code (voir diagnostic plus en dessous).

    Avez-vous déjà été confrontés à ce type de problème ? Auriez vous une piste à explorer pour savoir qu'est ce qui a changé ? Est ce oracle 11 qui a évolué via une mise à jour(notamment sa gestion des classes Java), ce qui expliquerait les difficultés à importer des classes qu’il n’estime plus valides ?
    Est ce mon environnement de développement qui est susceptible d'avoir changé (Eclipse ne me signale pourtant rien) ? Est ce que je dois passer à une version inférieure d'Oracle, sachant que mon client est lui aussi sous Oracle 11 et ne constate pas de probleme ?
    Est ce la constellation de la licorne qui se trouve depuis peu sous Verseau qui a tout chamboulé ?
    Vous l'avez deviné la confusion m'étoufferait presque !

    Pour info, le serveur Oracle(installé sous Linux) est de version 11.2.0.1.0, et l’environnement d’execution/compilation Java associé est JRE 1.6.0_20.

    Je développe sous Windows XP, et la JRE 1.6.0_30.

    En cherchant sur le net, j'ai tenté plusieurs choses, plusieurs options de la commande loadjava, j'ai tenté de valider sous oracle les classes java par la commande :
    ALTER JAVA CLASS "XXXX"."XXXX" RESOLVER ((* PUBLIC)(*XXX)) RESOLVE;

    sans succès, sachant que cela aurait été fastidieux de recompiler une à une toutes les classes, notamment celles des bibliothèques.



    Retour de l'instruction loadjava :

    loadjava -u XXX/XXX -f -resolve XXXX.jar

    errors : source Phonetisation/AppelClasse
    Note: Phonetisation.Phonetis uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    errors : source PARSERSAX/IMPORT/LancerParsingFichier
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    ORA-29534: impossible de résoudre l'objet COMPARATEUR.oracle/xml/parser/v2/SAXParser référencé
    errors : source PARSERSAX/IMPORT/IndividuDemandeHandler
    ORA-29534: impossible de résoudre l'objet COMPARATEUR.PARSERSAX/IMPORT/LancerParsingFichier référencé
    errors : source PARSERSAX/UTIL/Util
    ORA-29534: impossible de résoudre l'objet COMPARATEUR.PARSERSAX/UTIL/DAOUtil référencé
    errors : source PARSERSAX/UTIL/DAOUtil
    ORA-29534: impossible de résoudre l'objet COMPARATEUR.PARSERSAX/IMPORT/LancerParsingFichier référencé
    errors : source PARSERSAX/UTIL/Verification
    ORA-29534: impossible de résoudre l'objet COMPARATEUR.PARSERSAX/UTIL/DAOUtil référencé
    The following operations failed
    source PARSERSAX/IMPORT/LancerParsingFichier: resolution
    source PARSERSAX/IMPORT/IndividuDemandeHandler: resolution
    source PARSERSAX/UTIL/Util: resolution
    source PARSERSAX/UTIL/DAOUtil: resolution
    source PARSERSAX/UTIL/Verification: resolution
    exiting : Failures occurred during processing




    J'obtiens le meme type de probleme en chargeant un jar contenant les bibliothèques nécessaires au développement de parseurs SAX.

    J'espère que c'est assez clair et pas trop confus, et vous donnerai les informations qui vous sembleraient utiles et que je n'aurais pas mentionnées ...

    Merci de votre lecture, j'attends vos suggestions avec grand intéret !

  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
    Je pense que ce n’est pas le bon forum pour poser des questions liés au langage Java ou des utilitaires Oracle comme loadjava.

    D’habitude j’évite de me prononcer sur des sujets que je ne maîtrise pas mais bon on dit tous de conneries un jour ou un autre.

    Je pense que le message qui signale l’utilisation des API obsolètes est simplement un message d’avertissement et qu’il ne provoque pas le non chargement de la classe concernée. Par conséquence je pense que vous devez vous concentrer sur les erreurs ORA-29534.

    ORA-29534: referenced object string.string could not be resolved Cause: Name resolution determined that the indicated object is referenced but could not be resolved.
    Action: Correct name resolver or address resolution problems in the referenced class, or correct compilation problems in its source.
    A ce que je comprends de la documentation Oracle la jvm en 11g est compatible avec la JDK 1.5 or vous dit que vous utilisez 1.6.0_30. Est vous certain que çà marche ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord merci de votre réponse, mnitu.

    En fait cela proteste sur les références à des classes dépréciées, et n'arrive pas à résoudre les classes en elle meme, je pense.

    Le message que vous avez cité ne figure pas dans le diagnostic que j'ai publié

    Vous avez d'autre part raison et m'avez donné une piste, en farfouillant dans les répertoires d'oracle, je suis tombé sur un readme dans /opt/ora/app/oracle/product/11.2.0/dbhome_1/javavm qui dit clairement que la jvm intégrée à oracle 11 supporte 1.4 à 1.5 (The system classes in Oracle JVM were upgraded from JDK 1.4.2 level to JDK 1.5.)

    OR, une autre JVM 1.6 se trouve dans /usr/lib/jvm, et je me demande si il n'y a pas conflit, et que pour une raison ou une autre, oracle utiliserait cette derniere !


    Je pensais à installer la jvm 1.5 sur le serveur, mais je ne sais pas ou configurer la jvm qui sera prise en compte, c'est une autre histoire.
    Ou alors, configurer oracle et s'assurer qu'il utilise bien sa JVM intégrée.

  4. #4
    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
    Le message que j'ai cité est celui de la documentation Oracle Errors. C'était pour vous mettre sur la piste des erreurs.
    La JVM qu'utilise Oracle est non-configurable au niveau de la JDK. A chaque version d'Oracle il y a une version de JDK bien précise dans votre cas 1.5. Donc l'utilitaire loadjava utilise cette version.
    Vous dite que vous est en train de charger un fichier jar ce qui pour moi c'est du code compilé (archive des fichiers .class). Ce jar devrait être compatible avec la JDK 1.5 sinon je pense qu'il ne pourrait pas marcher.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/03/2011, 23h53
  2. Réponses: 1
    Dernier message: 07/07/2006, 14h56
  3. [oracle 9i] package has been invalidated...
    Par hoaxpunk dans le forum Oracle
    Réponses: 5
    Dernier message: 14/05/2006, 18h40
  4. proc utl_smtp utilitaire loadjava oracle 8.1.7.4
    Par ducho dans le forum Oracle
    Réponses: 2
    Dernier message: 07/12/2004, 17h27
  5. Oracle 7 -> Oracle 8 : "Invalid Row Id"
    Par gmartintin dans le forum Bases de données
    Réponses: 4
    Dernier message: 20/10/2004, 11h39

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