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 :

Perte des commentaires en créant des sources Java


Sujet :

Administration Oracle

  1. #1
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut Perte des commentaires en créant des sources Java
    Bonjour à tous

    Je suis amené à recréer des sources Java dans une base 11.2.0.4, et à ma grande surprise les commentaires sous la forme /* commentaire */ disparaissent dans l'opération.
    Ceci me pose problème, car lorsque je fais des comparaisons avec une base modèle, d'un côté j'ai des commentaires et de l'autre non, et donc des divergences sont détectées.

    Exemple :
    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
    CREATE JAVA SOURCE NAMED SCOTT."Hello"
    AS
    /*
    	Tout ça c'est du baratin
    	Epicétou
    */
      public class Hello
      {
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      };
    /
    Comme indiqué, les commentaires disparaissent purement et simplement à la création, que ce soit exécuté sous SQL*Plus ou Sql Developer.

    Avez-vous une astuce pour contourner ce problème ?
    Bien entendu, je ne dois PAS modifier le format des commentaires.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Ah en fait j'ai aussi ce souci
    Mes sources java ont pourtant des commentaires mais vu que j'ai fait des migrations 9.2 -> 11.2 puis 11.2 -> 12.2

    Après tests : En effet ton code ne produit pas de commentaire.. mais si tu rajoutes une ligne import avant, ils y sont
    J'ai essayé avec une ligne vide, sans succès

    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
    CREATE OR REPLACE JAVA SOURCE NAMED "Hello"
    AS
    import java.io.File;
    /* Tout ça c'est du baratin
    */
      public class Hello
      {
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      };
    /
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    second test
    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
    CREATE OR REPLACE JAVA SOURCE NAMED "Hello"
    AS
    /* Tout ça c'est du baratin
    */
      public class Hello
      {
    /* Tout ça c'est du baratin 2
    */
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      };
    /
    donne
    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
    TEXT
    public class Hello
      {
    /* Tout ça c'est du baratin 2
    */
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      };
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par McM Voir le message
    Ah en fait j'ai aussi ce souci
    Bienvenue au club, alors !

    Je pense que je vais devoir procéder par export / import, car il m'a semblé que le souci n'existe pas par ce moyen là.

    D'autant que j'ai un autre ennui du même tonneau, c'est le cas des lignes de commentaires débutant par @.
    Bien que ce soit dans un commentaire multiligne, SQL*Plus interprète cela comme étant un script à exécuter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /*
    @author D. Gourdy
    */
    SP2-0310: impossible d'ouvrir le fichier "author.sql"
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Hé ben, on en découvre tous les jours...
    Dans /* */, tout est commentaire SAUF :
    @ pour appeler uns cript
    + pour utiliser un hint
    & pour utiliser des variables de substitution

    ...

    Et avec --@, tu as le même pb?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Avec -- @, ça fonctionne, mais comme je le disais, je ne peux pas modifier les commentaires.

    La page suivante propose 2 solutions pour éviter l'interprétation du @ :
    https://stackoverflow.com/questions/...-metacharacter
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Sympa les réponses de stackoverflow; je connaissais déjà mais pas dans le cadre de ton problème.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Avec USING CLOB ça fonctionne
    Je suppose qu'avec le BFILE c'est pareil

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    CREATE TABLE masource (txt CLOB)
     
    INSERT INTO masource VALUES('/* Tout ça c''est du baratin
    */
      public class Hello
      {
    /* Tout ça c''est du baratin 2
    */
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      };');
     
     
    CREATE OR REPLACE JAVA SOURCE NAMED "Hello" USING CLOB SELECT txt FROM masource
     
    SELECT text FROM dba_source WHERE owner = 'xxx' AND TYPE = 'JAVA SOURCE' AND NAME = 'Hello' ORDER BY line
     
    /* Tout ça c'est du baratin
    */
      public class Hello
      {
    /* Tout ça c'est du baratin 2
    */
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      };
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Ah oui, la piste m'a l'air très prometteuse avec le CLOB.

    Mais en rajoutant un peu de Q pour éviter de devoir doubler les apostrophes :
    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
    33
    34
    35
    36
    37
    38
    INSERT INTO masource VALUES(
    Q'§/*
        Tout ça c'est du baratin
        Epicétou
    */
      public class Hello
      {
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      }'
    );
    INSERT INTO masource VALUES(
    Q'§/*
        Tout ça c'est du baratin
        Epicétou
    */
      public class Hello
      {
        public static String world()
        {
          return "Hello World ";
        }
     
     
        public static void main(String[] args)
        {
          System.out.println(world());
        }
      }'
    );
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  10. #10
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Le q peut être mis en majuscules aussi?
    Ça marche?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  11. #11
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    J'ai, comme envisagé un temp, recréé mes sources Java par import Datapump, en mode NETWORK LINK car les circonstances s'y prêtaient.
    Ça fonctionne parfaitement, sans perte de commentaires ni interférence des caractères @.

    Le paramètre décisif : INCLUDE=JAVA_SOURCE
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Pomalaix Voir le message
    Mais en rajoutant un peu de Q...
    Franchement, là Oracle devient vraiment cochon !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. [Toutes versions] Extraire des données en ciblant des ID, dans le code source d'une page web ?
    Par Dan.exe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/10/2014, 05h32
  2. Réponses: 10
    Dernier message: 11/05/2014, 15h19
  3. Réponses: 1
    Dernier message: 28/06/2012, 16h04
  4. Réponses: 1
    Dernier message: 27/04/2012, 16h41
  5. Réponses: 10
    Dernier message: 28/06/2007, 21h42

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