delphi firebird delphi-2006

Error de Firebird "el nombre de usuario y la contraseña no están definidos" con la aplicación Delphi



delphi-2006 (4)

Tengo una aplicación hecha con Delphi 2006 y Firebird 2.5. Para la conexión, use los componentes de Interbase de Delphi. Configuré en tiempo de diseño una base de datos TIB con nombre de usuario, contraseña tc y trabajo bien, pero cuando quiero ejecutar la aplicación en otra PC (primero instalo Firebird 2.5 en ella), recibí este error:

Statement failed, SQLSTATE = 28000

Su nombre de usuario y contraseña no están definidos. Pídale al administrador de la base de datos que configure un inicio de sesión de Firebird.

¿Que es esto? ¿Cómo puedo resolver eso?


El mensaje indica claramente que el nombre de usuario y la contraseña que usa para conectarse en el momento del diseño en su máquina de desarrollo no son válidos para el servidor de base de datos que está intentando conectar en la otra máquina (llamémoslo producción). De su mensaje parece que no es el mismo servidor al que se conecta en el momento del diseño.

Le sugiero que pruebe este problema con facilidad para poner la propiedad LoginPrompt en true en el componente TIBDatabase para permitirle que solicite al usuario las credenciales adecuadas antes de conectarse. Podrá conectarse utilizando cualquier combinación válida de nombre de usuario / contraseña para ese servidor. Para asegurarse de que la combinación sea válida, intente conectarse utilizando la herramienta de línea de comandos isql, por ejemplo el comando

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

se conectará a c: / test / test.fdb usando el nombre de usuario y la contraseña predeterminados. (el directorio raíz de Firebird debe estar en la variable de entorno de ruta para que esto funcione)

Además, puede usar la herramienta de línea de comandos gsec para ajustar la contraseña de este motor o puede proporcionar la creación de usuarios y cambiar las contraseñas en esa máquina de producción antes de intentar conectarse a ella.

En Windows, la contraseña de sysdba por defecto de firebird es masterkey .


En ''isql-fb'' desde linux terminal y después de ''CONNECT'' en la base de datos: - Resolví después de eliminar (borrar) y volver a crear el usuario ''SYSDBA''.

Observación: tuve problemas con el permiso de archivos y carpetas en ''/ tmp / firebird'' y necesitaba usar ''sudo'' o root para abrir ''isql-fb''

Gracias.


Este error se debe a que las credenciales para la base de datos de Firebird simplemente no se almacenan en el archivo de base de datos. Se almacena en el archivo de configuración en el servidor Firebird. Si copia sobre el archivo DB, y no la contraseña, tendrá una contraseña diferente.

En las máquinas de Ubuntu puede encontrar la contraseña y el nombre de usuario en el archivo, /etc/firebird/<version>/SYSDBA.password

Se verá algo así como,

ISC_USER=sysdba ISC_PASSWORD="password"

Utilice esas credenciales para conectarse al archivo de base de datos.


Una vez obtuve este error al intentar conectarme a una base de datos Firebird 3.0.3 utilizando las bibliotecas cliente de Firebird 2.5. Acabo de olvidar actualizar las bibliotecas de cliente a 3.0.3. Tal vez esto ayude a alguien.