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

Connexion aux bases de données Firebird Discussion :

[FB2.5] Connexion serveur Firebird renvoie "Système non autorisé"


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut [FB2.5] Connexion serveur Firebird renvoie "Système non autorisé"
    Bonjour,

    J'ai Firebird 2.5 installé sur ma machine (Windows 10) et j'ai essayé de me connecter à la base de données d'exemple Firebird_2_5/examples/empbuild/EMPLOYEE.FDB" au moyen de la commande suivante :
    SQL> CONNECT "C:\Program Files (x86)\Firebird\Firebird_2_5\examples\empbuild\EMPLOYEE.FDB"
    CON> user 'SYSDBA' password 'masterkey';
    et j'ai bel et bien pu me connecter à la base de données d'exemples et je peux voir les tables qui s'y trouvent.

    Cependant lorsque j'essaie de me connecter à ma propre base Firebird, j'obtiens l'erreur suivante :
    Statement failed, SQLSTATE = 42000
    exception 4
    -EXCPT_CLIENT_NOT_AUTH
    -Système non autorisé
    -At trigger 'DBCON' line: 9, col: 9

    J'ai recherché sur Google afin de trouver une piste pour m'éclairer, néanmoins impossible de trouver le moindre indice, d'où mon message pour demander de l'aide auprès de vous. Auriez-vous déjà rencontré cette erreur auparavant ?

    (Les identifiants de l'utilisateur que j'utilise (SYSDBA/masterkey) sont bien corrects car lorsque je change le mot de passe ou le nom de l'utilisateur j'obtiens une erreur m'indiquant que les identifiants ne sont pas reconnus.)

    Je vous remercie par avance et me tiens à disposition pour plus d'informations.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    12 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 12 812
    Points : 34 624
    Points
    34 624
    Billets dans le blog
    54
    Par défaut
    Bonjour,

    Si c'est votre propre base de données c'est que vous avez du créer un trigger (DBCON) de type ONCONNECT qui fonctionne mal !
    Le désactiver sans pouvoir se connecter je ne sais pas si c'est possible (heureusement car en général c'est une protection contre le piratage)

    Si vous avez un backup, de la base de données c'est solvable.
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour et merci pour votre réponse,

    Comment m'est-il possible de voir les triggers que j'ai en place ? Faut-il que je sois connecté au préalable pour ce faire ?
    Comment le backup de ma base de données pourrait-il m'aider ? Je dispose du fichier de ma base de données ainsi que des divers fichiers qui viennent avec Firebird (firebird.conf, fbtrace.conf, aliases.conf, etc.)

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    12 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 12 812
    Points : 34 624
    Points
    34 624
    Billets dans le blog
    54
    Par défaut
    Au fait, bienvenue.
    Citation Envoyé par MakiChew Voir le message
    Comment m'est-il possible de voir les triggers que j'ai en place ? Faut-il que je sois connecté au préalable pour ce faire ?
    Je crains que oui.

    Comment le backup de ma base de données pourrait-il m'aider ?
    lisez la note du chapitre Database triggers de cette documentation documentation
    et ceci http://www.firebirdmanual.com/firebi...ackup-files/47


    Je dispose du fichier de ma base de données
    certainement un extension classique en .fb ou .fdb

    les divers fichiers qui viennent avec Firebird (firebird.conf, fbtrace.conf, aliases.conf, etc.)
    ça c'est normal après installation
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci bien pour les ressources que vous m'avez données (et pour votre accueil !), je vais prendre soin de les lire en espérant avoir une meilleure compréhension, je vous tiendrai au courant si je trouve quelque chose ou si jamais me venais une autre question !

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    5 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 5 001
    Points : 14 118
    Points
    14 118
    Par défaut
    Salut à tous.

    @ MakiChew : je ne comprends pas trop votre problème.
    Je suppose que votre base de données était accessible sous firebird 2.5 avant de faire l'accès à "EMPLOYEE.FDB".
    Est-ce bien le cas ?

    Vous accédez à "EMPLOYEE.FDB" en précisant le user ('SYSDBA') et le password ('masterkey').

    Après cela, vous faites une tentative d'accès à votre base de données et vous obtenez le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Statement failed, SQLSTATE = 42000
    exception 4
    -EXCPT_CLIENT_NOT_AUTH
    -Système non autorisé
    -At trigger 'DBCON' line: 9, col: 9
    Pouvez-vous nous dire comment se fait l'accès à votre base de données (détail de la commande isql).

    Ce que je comprends de votre manipulation est que firebird à conserver le user ('SYSDBA') et le password ('masterkey') en mémoire qui ne sont pas ceux que vous utilisez habituellement.
    Pour être plus précis, je suppose que vous accédiez sans user et sans mot de passe auparavent.
    De ce fait, firebird utilise le user de votre système d'exploitation pour vous connecter.
    Est-ce bien le cas ?

    Essayez de vous connecter à votre base de données en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect 'localhost:chemin_vers_votre_database.fdb' user le_user_windows password votre_mot_de_passe;
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    12 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 12 812
    Points : 34 624
    Points
    34 624
    Billets dans le blog
    54
    Par défaut
    Bonjour,
    @Artemus
    Si l'on suit le processus,
    a - c'est une nouvelle installation 2.5
    b - L'installation s'est bien passée, pour preuve, MakiChew peut accéder à employee.fdb
    ensuite ce que l'on ne sait pas, la base de données X a été copiée ou restorée à partir d'un backup (ce qui aurait été mieux)
    d - Un trigger nommé 'DBCON' se déclenche et renvoi l'exception EXCPT_CLIENT_NOT_AUTH avec le texte 'Système non autorisé' << d'ailleurs un message en français met la puce à l'oreille

    Ceci, c'est typique d'un trigger de base de données écrit par le dba pour empêcher une connexion via SYSDBA.

    Quelque chose comme ceci
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE EXCEPTION EXCPT_CLIENT_NOT_AUTH 'Système non autorisé';
    SET TERM !;
    CREATE TRIGGER  DBCON ON CONNECT AS
    BEGIN
    IF (CURRENT_USER= 'SYSDBA') THEN EXCEPTION EXCPT_CLIENT_NOT_AUTH;
    END!
    SET TERM ;!


    A mon avis aucune modification de firebird.conf n'a été faite et donc il s'agit d'une utilisation standard, pas du user de l'OS
    (s'il s'agissait de Firebird 3 ce serait AuthServer = Legacy_Auth)

    Je ne suis pas un as de ISQL je viens de lire qu'une option -NODBTRIGGERS était possible au lancement de ISQL donc à essayer :

    PS C:\program files\firebird\firebird_2_5\bin> .\isql.exe -help
    usage: isql [options] [<database>]
    -a(ll) extract metadata incl. legacy non-SQL tables
    -b(ail) bail on errors (set bail on)
    -c(ache) <num> number of cache buffers
    -ch(arset) <charset> connection charset (set names)
    -d(atabase) <database> database name to put in script creation
    -f(etch_password) fetch password from file
    -e(cho) echo commands (set echo on)
    -ex(tract) extract metadata
    -i(nput) <file> input file (set input)
    -m(erge) merge standard error
    -m2 merge diagnostic
    -n(oautocommit) no autocommit DDL (set autoddl off)
    -nod(btriggers) do not run database triggers
    -now(arnings) do not show warnings
    -o(utput) <file> output file (set output)
    -pag(elength) <size> page length
    -p(assword) <password> connection password
    -q(uiet) do not show the message "Use CONNECT..."
    -r(ole) <role> role name
    -r2 <role> role (uses quoted identifier)
    -s(qldialect) <dialect> SQL dialect (set sql dialect)
    -t(erminator) <term> command terminator (set term)
    -tr(usted) use trusted authentication
    -u(ser) <user> user name
    -x extract metadata
    -z show program and server version
    Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    .\isql.exe -nodbtrigger -user SYSDBA -password "masterkey"  basededonnees.fdb

    une fois connecté (cela devrait se faire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL> ALTER TRIGGER "DBCON" INACTIVE;
    SQL> COMMIT;
    et le trigger sera désactivé
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour à vous, je vous remercie pour vos réponses et pour votre aide !
    J’ai pu résoudre mon problème grâce à la documentation que SergioMaster m’a fournie !

    Pour répondre à Artemus24 :
    - Pour accéder à ma base de données j’ai réaliser la même commande via ISQL que pour accéder à la base de données d’exemple EMPLOYEE.FDB :
    SQL> CONNECT <chemin d’accès à ma base>
    CON> user ‘SYSDBA’ password ‘masterkey’;

    La description que SergioMaster a donnée est tout à fait correcte
    a - c'est une nouvelle installation 2.5
    b - L'installation s'est bien passée, pour preuve, MakiChew peut accéder à employee.fdb
    ensuite ce que l'on ne sait pas, la base de données X a été copiée ou restorée à partir d'un backup (ce qui aurait été mieux)
    d - Un trigger nommé 'DBCON' se déclenche et renvoi l'exception EXCPT_CLIENT_NOT_AUTH avec le texte 'Système non autorisé' << d'ailleurs un message en français met la puce à l'oreille

    Finalement, l’option -nodbtriggers m’a enfin permis d’accéder à mes données !
    Merci à vous pour votre aide et merci SergioMaster de m’avoir aiguillé sur la bonne documentation !

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    5 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 5 001
    Points : 14 118
    Points
    14 118
    Par défaut
    Salut à tous.

    @ SergioMaster : j'ai fait une recherche sur le net afin de savoir ce que l'on propose sur "Statement failed, SQLSTATE = 42000".
    Il m'a sembler comprendre que l'accès se faisait sans préciser le user et le password.
    --> https://stackoverflow.com/questions/...this-operation

    Avec ta réponse, je n'avais pas compris que c'était une nouvelle installation.
    Je croyais que suite à l'accès à la base de données "EMPLOYEE.FDB", il avait perdu ses identifiants.

    Quelle est la différence entre entre un trigger "autorisation" et un trigger "dbcon" ?

    Citation Envoyé par MakiChew
    Pour accéder à ma base de données j’ai réaliser la même commande via ISQL que pour accéder à la base de données d’exemple EMPLOYEE.FDB
    Sont-ce les bons identifiants pour vous conncter à votre base ?
    D'après ce que j'ai compris, ce n'est pas le cas. Connaissez-vous les bons identifiants pour accéder à votre base de données ?

    Citation Envoyé par MakiChew
    Finalement, l’option -nodbtriggers m’a enfin permis d’accéder à mes données !
    Merci à SergioMaster.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/11/2016, 13h32
  2. connexion d une application android a un serveur firebird
    Par jasmine jas dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 27/12/2015, 11h57
  3. probleme de connexion à un serveur firebird en dehors du reseau local
    Par kameleon80 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 07/05/2015, 14h10
  4. RTHDCPL.EXE - repositionnement de DLL système non autorisé
    Par stabiloboss dans le forum Windows XP
    Réponses: 1
    Dernier message: 05/04/2007, 14h48
  5. [DLL] Utilisation d'une DLL pour utiliser serveur Firebird
    Par sekiryou dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/08/2004, 14h20

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