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

Forms Oracle Discussion :

problème de creation d'un utilisateur à partir de Forms 10g


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 76
    Par défaut problème de creation d'un utilisateur à partir de Forms 10g
    Bonjour à tous,

    Quand je veux créer un utilisateur à partir de Forms 10g, j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FRM-40735: Le déclencheur W-B-P a détecté une exception ORA-01031 non traitée
    Quand je consulte l'erreur ORA-01031, on parle de privilèges insuffisant.
    Pourtant, quand je connecte directement à la BD (utilisant TOAD) avec le même utilisateur que sur l'application Forms, et j'exécute le même code, l'utilisateur est créé.

    voici le code de la procédure écrite dans la BD et appelé dans FORMS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create or replace procedure createuser (
    utilisateur varchar2,
    password1 varchar2
    ) is
    begin
     execute immediate 'grant connect, staff_session to '||utilisateur||' identified by '||password1;
    end;
    Merci

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Avec EXECUTE IMMEDIATE, les droits ne doivent pas être hérité d'un rôle, mais être grantés directement à l'utilisateur.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 76
    Par défaut
    Bonjour,

    j'ai modifié le code en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE OR REPLACE procedure createuser (
    utilisateur varchar2,
    password1 varchar2
    ) IS
    begin
     execute immediate 'create user '||utilisateur||' identified by '||password1;
    end;
    et j'ai la même erreur.

    Aussi, j'utilise EXECUTE IMMEDIATE parce que quand j'utilise directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    create user ||utilisateur|| identified by ||password1
    dans ma procedure j'ai des erreurs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Symbole "CREATE" rencontré à la place d'un des symboles suivants
    Merci

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Avez-vous seulement lu ma réponse ?
    Tant que vous ne donnerez pas directement les droits à votre utilisateur, vous obtiendrez perpétuellement ce message.

  5. #5
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,

    Tu peux le faire mais avec cette option :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE OR REPLACE procedure createuser (
    utilisateur varchar2,
    password1 varchar2
    ) 
    authid current_user 
    IS
    begin
     execute immediate 'create user '||utilisateur||' identified by '||password1;
    end;
    http://www.developpez.net/forums/d15...-current_user/

  6. #6
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    je rajouterais qu'il vaut mieux encadrer le pwd par des guiilemets pour éviter les problémes d'interprétaion de la chaine par 'EXECUTE IMMEDIATE'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    execute immediate 'CREATE USER '||utilisateur||' IDENTIFIED BY "' ||mot_de_passe||'" DEFAULT TABLESPACE  tbs_user TEMPORARY TABLESPACE tbs_temp';

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

Discussions similaires

  1. Problème d'appel de reports à partir de forms 10g
    Par monthaldo dans le forum Forms
    Réponses: 0
    Dernier message: 14/03/2012, 11h22
  2. Réponses: 2
    Dernier message: 30/06/2010, 13h57
  3. Réponses: 26
    Dernier message: 29/05/2008, 15h13
  4. Réponses: 18
    Dernier message: 08/08/2005, 20h52
  5. Problème de creation de thread sous linux
    Par xilebo dans le forum POSIX
    Réponses: 4
    Dernier message: 27/10/2004, 09h58

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