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

Outils Firebird Discussion :

Accéder à Firebird depuis un logiciel de gestion de base de données


Sujet :

Outils Firebird

  1. #1
    Candidat au Club
    Homme Profil pro
    Indépendant
    Inscrit en
    Décembre 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Décembre 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Accéder à Firebird depuis un logiciel de gestion de base de données
    Bonjour à tous,

    Après plusieurs jours de recherche je pose ma question sur le forum.

    J'ai une base données FDB que j'ai créée et configurée. J'ai ensuite ajouter un utilisateur (TestUser) à qui j'ai attribué le rôle (TestRole) que j'ai paramétré avec cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE ROLE userrole;
    GRANT SELECT, UPDATE, INSERT ON test_table TO ROLE userrole;
    GRANT userrole TO TestUser;
    Je cherche à visualiser la base de données avec un logiciel. J'ai essayé deux logiciels, DBeaver et HeidiSQL. Le problème est qu'une fois connecté avec TestUser sur les deux logiciel j'ai un message d'erreur qui m'indique que TestUser ne peut pas utiliser SELECT. J'ai donc essayé d'y accéder à partir de Powershell avec TestUser en exécutant la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM test_table
    Et là les données s'affichent. Pensant que le problème venais de DBeaver ou HeidiSQL je me suis connecté sur les deux logiciels avec SYSDBA, et là je n'ai eu aucun problème pour accéder à la base de données.

    Je cherche à résoudre l'erreur dans DBeaver ou HeidiSQL qui me dit que TestUser n'a l’autorisation pour SELECT.

    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 890
    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 890
    Points : 6 020
    Points
    6 020
    Par défaut
    Bonjour,

    Préciser la version de FB aurait été un plus...

    Ceci dit, j'ai trouvé ça
    A user that is granted a role must supply that role with his login credentials in order to exercise the associated privileges. Any other privileges granted to the user are not affected by logging in with a role.
    https://firebirdsql.org/file/documen...-granting.html
    "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
    Candidat au Club
    Homme Profil pro
    Indépendant
    Inscrit en
    Décembre 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Décembre 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je te remercie. J'ai tendance à oublié que les versions peuvent changer complètement la logique. Je suis avec Firebird 4 et DBeaver 23.3. J'étais tombé sur ce lien mais ça n'a pas résolu le problème. J'ai essayé de tourner le problème dans tous les sens et après plusieurs heures, je m’aperçoit qu'à aucun moment je n'attribue de rôle dans DBeaver ou HeidiSQL. J'ai beau cherché et impossible de trouvé où assigner le rôle (qui permet de faire un SELECT, UPDATE et INSERT) dans la DB.

    Je me suis connecté de deux manières différentes. La première :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./isql 'C:\path\to\folder\TESTDB.FDB' -user TESTUSER -password testuser
    Et la deuxième :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./isql 'C:\path\to\folder\TESTDB.FDB' -user TESTUSER -password testuser -role userrole
    Avec la première j'ai le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Statement failed, SQLSTATE = 28000
    no permission for SELECT access to TABLE TEST_TABLE
    -Effective user is TESTUSER
    Ce qui est normal car le rôle n'est pas définit à la connexion. Et au deuxième j'ai bien la table qui s'affiche.

    Donc je suis pratiquement sûr qu'il faille paramétrer le rôle dans DBeaver ou HeidiSQL (ou n'importe quel autre). Mais impossible de trouver comment faire.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    14 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14 962
    Points : 40 794
    Points
    40 794
    Billets dans le blog
    62
    Par défaut
    Quid en utilisant Flamerobin (je sais que ce GUI permet la saisie de rôle)

    sinon, à essayer
    Nom : Capture.PNG
Affichages : 78
Taille : 26,1 Ko
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Candidat au Club
    Homme Profil pro
    Indépendant
    Inscrit en
    Décembre 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Décembre 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci SergioMaster. Effectivement j'ai pu entrer le rôle. Mais au moment d'accéder à la table j'ai ce message :

    D:\wxwidgets\include\wx/strvarg.h(451): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer<unsigned__int64>::wxArgNormalizer(): format specifier doesn't match argument type

    Malheureusement après de multiples recherche sur internet, je n'ai pu obtenir aucun résultat :/

  6. #6
    Candidat au Club
    Homme Profil pro
    Indépendant
    Inscrit en
    Décembre 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Décembre 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Je suis désolé pour le double post, l'image ne s'était pas chargé au moment où j'ai lu le post. Ajouter le rle userrole aux pilotes de DBeaver n'a rien changé. Mais l'idée est loin d'être bête, peux est que la configuration n'est pas évidente mais ça peut valoir la peine de chercher de ce côté là

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    14 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14 962
    Points : 40 794
    Points
    40 794
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par IronCode Voir le message
    Merci SergioMaster. Effectivement j'ai pu entrer le rôle. Mais au moment d'accéder à la table j'ai ce message :
    Avec flamerobin ou avec DBeaver ?
    je n'ai pas tenté avec DBeaver juste fait l'image écran, il y a un bouton information (advanced properties) qu'il eut fallu consulter (ou plutôt driver info) car ce n'est pas role qu'il faut écrire mais roleName

    Nom : Capture.PNG
Affichages : 64
Taille : 7,0 Ko

    Toutefois, si avec Flamerobin cela a fonctionné (encore que j'aie fait une utilisation de ROLE à l'arraché donc pas terrible,NB tout a été créé avec flamerobin, ROLE, USER et GRANT) avec DBeaver je me retrouve avec un
    Nom : Capture.PNG
Affichages : 64
Taille : 9,4 Ko
    Mais j'ai fait ce test trop rapidement pour en dire plus
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Candidat au Club
    Homme Profil pro
    Indépendant
    Inscrit en
    Décembre 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Décembre 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    C'est génial ça !! Tu es excellent !

    J'ai effectivement ajouter le roleName avec USERROLE, et là ça fonctionne parfaitement. Ce qui n'était pas le cas avec role donc je confirme il faut bien mettre roleName.

    Pour répondre à ta question c'est avec FlameRobin que j'ai eu le message d'erreur que j'ai partagé. Mais vu que l'erreur rencontrée avec SELECT est résolu sur DBeaver, il n'y a pas lieu de s'acharner sur FlameRobin. Par contre j'ai n'ai pas eu l'erreur de connexion que tu as. Je pense que (mais je suis nouveau sur ces outils) que c'est du au fait que tu te connecte avec "employee". Il me semble qu'employee est utilisé après installation pour configuré SYSDBA, du moins c'est la seul fois où j'ai du l'utiliser.
    Pour ma part j'ai rentré TESTUSER avec le mot de passe qui y est associé et je n'ai pas eu ce message car quand je regarde ta capture tu as en tête de page "Connect to 'employee'" et pour ma part j'ai "Configuration de la connexion "TESTDB.FDB"", l'équivalent français.

    Je te remercie pour ton soutien qui m'a énormément apporté. Après avoir cherché toutes les solutions, utiliser roleName dans les drivers ne me serait jamais venu à l'esprit.
    Je te souhaite, à toi ainsi qu'à tout le forum, d'excellentes fêtes

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/06/2009, 16h57
  2. Recherche logiciel de gestion de bases de données
    Par partyboy dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 22/11/2005, 18h30
  3. Recherche de logiciels de gestion de base de connaissances?
    Par sessime dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 16/11/2005, 17h49
  4. Réponses: 4
    Dernier message: 07/10/2004, 21h42
  5. [IBEasy] migration sous firebird depuis Interbase
    Par kase74 dans le forum InterBase
    Réponses: 14
    Dernier message: 23/06/2004, 16h56

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