web-dev-qa-db-fra.com

Erreur Firebird "le nom d'utilisateur et le mot de passe ne sont pas définis" avec l'application Delphi

J'ai une application faite avec Delphi 2006 et Firebird 2.5. Pour la connexion, utilisez les composants Interbase de Delphi. J'ai mis en place au moment de la conception une base de données TIB avec un nom d'utilisateur, un mot de passe tc et un travail correct, mais lorsque je veux exécuter l'application dans un autre ordinateur (j'installe d'abord Firebird 2.5), j'ai reçu cette erreur:

Statement failed, SQLSTATE = 28000

Votre nom d'utilisateur et votre mot de passe ne sont pas définis. Demandez à votre administrateur de base de données de configurer une connexion Firebird.

Qu'est-ce que c'est? Comment puis-je résoudre cela?

16
Origen Banaru

Le message indique clairement que le nom d'utilisateur et le mot de passe que vous utilisez pour vous connecter au moment de la conception dans votre ordinateur de développement ne sont pas valides pour le serveur de base de données que vous essayez de connecter sur l'ordinateur autre (appelons cela production). D'après votre message, il semble que vous ne vous connectiez pas au même serveur au moment de la conception.

Je vous suggère de tester ce problème facilement pour mettre la propriété LoginPrompt à true sur le composant TIBDatabase afin de lui permettre de demander à l'utilisateur des informations d'identification correctes avant la connexion. Vous pourrez vous connecter en utilisant n’importe quelle combinaison nom d’utilisateur/mot de passe valide pour ce serveur. Pour vous assurer que la combinaison est valide, essayez de vous connecter à l'aide de l'outil de ligne de commande isql, par exemple la commande

c:\test>isql test.fdb -u sysdba -p masterkey

se connectera à c:\test\test.fdb en utilisant le nom d'utilisateur et le mot de passe par défaut. (le répertoire racine de firebird doit être dans la variable d’environnement path pour que cela fonctionne)

En outre, vous pouvez utiliser l'outil de ligne de commande gsec pour ajuster le mot de passe de ce moteur ou vous pouvez fournir les utilisateurs créés et modifier les mots de passe sur cet ordinateur de production avant d'essayer de vous connecter à celui-ci.

Sous Windows, le mot de passe sysdba par défaut de Firebird est masterkey .

15
jachguate

Une fois, j'ai eu cette erreur en essayant de me connecter à une base de données Firebird 3.0.3 en utilisant les bibliothèques clientes de Firebird 2.5. J'ai juste oublié de mettre à jour les bibliothèques clientes en 3.0.3. Cela aidera peut-être quelqu'un.

1
dsungaro

Sur 'isql-fb' à partir du terminal linux et après le 'CONNECT' sur la base de données: - J'ai résolu après delete (déposer) et recréer l'utilisateur 'SYSDBA'.

Observation: j'ai eu des problèmes avec les permissions de fichiers et de dossiers sur '/ tmp/firebird' et j'avais besoin d'utiliser 'Sudo' ou de la racine pour ouvrir 'isql-fb'

Merci.

1
Wellington1993

Cette erreur est due au fait que les informations d'identification de la base de données Firebird ne sont simplement pas stockées dans le fichier de base de données. Il est stocké dans le fichier de configuration sur le serveur Firebird. Si vous copiez le fichier de base de données, et non le mot de passe, vous aurez un mot de passe différent.

Sur les machines Ubuntu, vous pouvez trouver le mot de passe et le nom d'utilisateur dans le fichier, /etc/firebird/<version>/SYSDBA.password

Ça va ressembler à quelque chose,

ISC_USER=sysdba
ISC_PASSWORD="password"

Utilisez ces informations d'identification pour vous connecter au fichier de base de données.

0
Evan Carroll