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

Sql*Plus Oracle Discussion :

Mutualiser les SET


Sujet :

Sql*Plus Oracle

  1. #1
    Rédacteur/Modérateur

    Mutualiser les SET
    Bonjour,
    J'ai une question assez bateau... Je vais avoir une série de requête SQL à faire exécuter par SQL*Plus, avec les mêmes commandes de formatage (SET WRAP OFF, SET NEWPAGE NONE, etc.). Le tout sera déclenché par des scripts Python.

    Qu'est-ce qu'il y a comme moyen pour que toutes mes requêtes SQL, chacune étant dans un fichier .sql différent, soient exécutées avec les même SET, à part évidemment copier-coller les SET au début de chaque fichier de requête ?

    Merci d'avance !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  2. #2
    Membre éclairé
    Bonjour,

    Quelle est la version de la BDD?

    Tu peux configurer le fichier glogin.sql au niveau site ou alors le fichier login.sql pour y stocker ces SET.

    https://docs.oracle.com/en/database/...F-BA965CE16B2E

  3. #3
    Rédacteur/Modérateur

    Merci, c'est exactement ça que je n'arrivais pas à retrouver !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  4. #4
    Rédacteur/Modérateur

    En fait, il y a un point que je ne comprends pas : le fichier login.sql est censé être spécifique à un profil. Qu'est-ce que ça veut dire exactement ? Concrètement, si j'ai plusieurs users qui utilisent la même machine cliente, est-ce que je peux avoir des login.sql différents pour chacun d'entre eux ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Membre éclairé
    Par profil cela signifie qu'il faut renseigner la variable d'environnement ORACLE_PATH (sur Linux) ou SQLPATH (sur Windows). Donc si tu te connectes par exemple avec ton user toto alors ce sera la valeur de la variable d'environnement ORACLE_PATH associée à toto qui sera lue pour trouver le login.sql.
    Si tout le monde se connecte avec toto sur la machine cliente alors oui ce sera le même fichier login.sql qui sera utilisé.

  6. #6
    Rédacteur/Modérateur

    OK, c'est ce que je craignais. Merci de la précision !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  7. #7
    Expert confirmé
    Sinon il suffit de mutualiser les SET dans un fichier config.sql par exemple et de l’appeler au début des différents script .sql existant avec @config.sql

  8. #8
    Rédacteur/Modérateur

    Au final, j'ai fait le contraire : un fichier format.sql, qui ensuite appelle le &1 passé en paramètre.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

###raw>template_hook.ano_emploi###