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

Apex Oracle Discussion :

Création de fichier SQL à partir de form apex


Sujet :

Apex Oracle

  1. #1
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut Création de fichier SQL à partir de form apex
    Bonjour a tous,
    Oracle 11gr2, apex 4.2

    Je suis nouveua dans le monde Apex et je voudrais creer une application de gestion de password avec les suivantes caracteristiques:
    Les utilisateurs se connectent a la url de l'appli avec un utilisateur general (le même pour tous).
    Une fois connecté l'user cherche son nom dans un drop down menu et lorsqu'il se trouve, 3 champs apparaissent

    current password:
    new password:
    retype password:

    Le truc c'est que Apex est installé dans une base de données et le changement de password c'est pour la base de prod (une autre base de données) il n'y a pas de dblink entre les 2 bases.
    Donc mon idée serait de generer un fichier .sql qui serait de type: alter user toto identified by "newpassword";
    ou encore: ALTER USER toto PASSWORD EXPIRE;
    Pour que l'user fasse le changement a la prochaine conexion.
    La question est: Est ce possible de generer cette commande avec Apex, et depuis le serveur faire un ssh prodmachine "sqlplus admin/xxxx @monfichier.sql"
    ?
    D'avance merci de votre aide

  2. #2
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut
    Bonjour a tous
    j'ai reussi a creer le formulaire Apex avec un drop down menu (shared components => List) et 3 champs de password.
    Ouff
    Ensuite j'ai ajpouté un bouton submit
    ce que je voudrais maintenant c'est que le submit creer le fichier sql est ce possible avec Apex ?
    D'avance merci

  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
    Bonjour,

    Tu peux créer le fichier en Plsql (donc sur le serveur de base de données), avec UTL_FILE.
    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
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut
    Salut
    merci de ta reponse.
    Ok alors je peux utiliser pl / sql, mais comment faire pour que le submit declenche l'execution du pl sql ?
    Et d'ailleurs le pl doit s'executer dans un autre serveur. Est ce possible?
    D'avance merci

  5. #5
    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
    Dans le "Page Processing" : Processing / Processes, tu as un "Process Row of TATABLE"
    Tu crées un process de type PL/SQL et tu mets le code que tu souhaites.

    Par contre pour ta demande, le fait de passer par un fichier sql qu'il faut retransférer sur le serveur de prod pour l'exécuter en tant qu'admin, ce n'est pas un fonctionnement très pratique, mais c'est réalisable.
    Le plus simple aurait été un DBLINK.

    Tu peux exécuter une commande OS depuis la base de données en java (google : oracle execute os command) : Un lien qui détaille tout
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut
    Bonjour
    merci de ta reponse.
    Alors j'ai ete dans page processing => Processing= Process, clic droit et create.
    Je choisi pl/sql
    Dans source je place ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    BEGIN
    DBMS_OUTPUT.PUT_LINE('ALTER USER TOTO IDENTIFIED BY TOTO');
    END;
    Et j'ai une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ORA-06550: line 1, column 29: PLS-00103: Encountered the symbol "BEGIN" when expecting one of the following: ( - + case mod new not null <an identifier> <a double-quoted delimited-identifier> <a bind variable> continue avg count current exists max min prior sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set sp
    is_internal_error: true
    apex_error_code: APEX.CONDITION.UNHANDLED_ERROR
    ora_sqlcode: -6550
    ora_sqlerrm: ORA-06550: line 1, column 29: PLS-00103: Encountered the symbol "BEGIN" when expecting one of the following: ( - + case mod new not null <an identifier> <a double-quoted delimited-identifier> <a bind variable> continue avg count current exists max min prior sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set sp
    component.type: APEX_APPLICATION_BUTTONS
    component.id: 2470419653369056
    component.name: SUBMIT
    error_backtrace:
    ORA-06512: at "SYS.DBMS_SYS_SQL", line 1325
    ORA-06512: at "SYS.WWV_DBMS_SQL", line 1022
    ORA-06512: at "SYS.WWV_DBMS_SQL", line 1091
    ORA-06512: at "APEX_040200.WWV_FLOW_DYNAMIC_EXEC", line 644
    ORA-06512: at "APEX_040200.WWV_FLOW_CONDITIONS", line 200
    J'ai fait un truc mal?

  7. #7
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Points : 289
    Points
    289
    Par défaut
    Bonjour
    c'est possible de faire quelque chose comme ça avec apex ?

    lorsque je click sur le submit button:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ssh destination_host ". ./env.env; sqlplus admin/xxxx @'alter user :user identified by :pass;'"
    Car ça serait adapté a ce que je souhaite faire
    D'avance merci

Discussions similaires

  1. [AC-97] création fichier sql à partir d'Access 2000
    Par l'coy dans le forum Access
    Réponses: 3
    Dernier message: 04/04/2011, 18h47
  2. Création de fichier Source à partir de fichier Data
    Par AAWOOPY56 dans le forum AS/400
    Réponses: 4
    Dernier message: 07/04/2009, 20h13
  3. executer un fichier .sql à partir d'une fonction Pl/pgsql
    Par Hadjout dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 21/05/2008, 09h32
  4. Lire un fichier a partir de forms
    Par moi80 dans le forum Forms
    Réponses: 6
    Dernier message: 22/04/2008, 15h39
  5. Réponses: 1
    Dernier message: 02/04/2007, 11h23

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