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

Bases de données Delphi Discussion :

Verifier l'existance d'un utilisateur et d'une base...


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Points : 245
    Points
    245
    Par défaut Verifier l'existance d'un utilisateur et d'une base...
    En gros, mon soucis est assez simple je pense. Je souhaite qu'a l'ouverture de mon application, je puisse vérifier que l'utilisateur a bien le droit de ce connecter au serveur, et si c'est la cas, j'aimerais vérifier que ma base de donnée existe...
    Je n'ai vraiment aucune connaissance d'InterBase, mais je doit travaillé avec ce system. J'espaire ne pas avoir fait un post redondant, j'ai fait une recherche assé rapide et verifier dans la FAQ...

    Mercie, même si vous ne faite que lire ce message .
    De toutes les choses que j'ai perdue,
    Celle qui me manque le plus...
    c'est mon esprit !

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Le "pb" avec IB, c'est que la BD et le serveur sont très intimement liés (et j'ose dire inversement !!!)

    Les autorisations d'accès ne se font pas sur une BD, mais sur les tables qui la constituent.

    En plus, le composant database reçoit tous les paramètres de connexion:
    - adresse serveur (et protocole si pas en local)
    - nom du fichier IB supportant la DB (ou alias si via BDE ? je maitrise pas ce point)
    - username
    - password

    quand c'est fait, tu mets le Tdatabase à actif et tu vois ce qui se passe...

    donc: tu ne peux pas savoir a priori si le username a des droits sur la BD et tu ne peux pas savoir si la BD existe sans fournir un username.

    ce que j'ai fait dans 1 appli: déclarer en base un user réservé à l'init (récup de qq info). Si les infos reviennent, c'est que la BD existe et est active.
    Ensuite je réinitialise le user pour permettre le login de l'utilisateur.


    Et pour + d'infos le forum Interbase !
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre actif
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Points : 245
    Points
    245
    Par défaut
    J'ai une petite piste...
    Quand j'initialise corectement mon TIBDatabase, c'est à dire avec le bon login et le nom de ma table, l'erreur revoyé semble diférente. Si je dit semble, c'est que le méssage est bien diférent, mais le code de l'exception (EIBInterBaseError) semble lui identique...

    J'ai déclaré c'est deux constante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Const
            INVALID_USERNAME_AND_PASSWORD : Integer = -902;
            CLIENT_LOGON_ANNULATED        : Integer = 10;
    Le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
         Try
          BDD.Connected := true;
        Except
          on E: EIBInterBaseError do
            if E.SQLCode = INVALID_USERNAME_AND_PASSWORD then
              Application.MessageBox('Nom d''utilisateur ou mot de passe incorrecte','Erreur')
            Else Begin
              Application.MessageBox('Erreur innatendue','Erreur');
              Exit;
            End;
    M'afficheras bien ma 1er boite de dialogue si le longin n'est pas bon, mais aussi si la base n'existe pas...
    Aurais-je fait une erreur ?
    De toutes les choses que j'ai perdue,
    Celle qui me manque le plus...
    c'est mon esprit !

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2015, 09h31
  2. [Débutant] Verifier l'existance d'un utilisateur dans un groupe Sharepoint
    Par jubourbon dans le forum Développement Sharepoint
    Réponses: 4
    Dernier message: 22/11/2012, 16h45
  3. [Toutes versions] Contrôle de l'utilisateur (distant) d'une base
    Par Jertho dans le forum VBA Access
    Réponses: 0
    Dernier message: 25/08/2012, 10h09
  4. verifier l'existence d'un utilisateur sur une machine
    Par thouraya24 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 31/05/2009, 10h52
  5. utilisateurs connectés sur une base
    Par captainamerica75 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 20/02/2006, 14h13

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