Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   usar lazarus com firebird 3 remotamente (https://www.clubdelphi.com/foros/showthread.php?t=94139)

anubis 21-08-2019 07:11:21

usar lazarus com firebird 3 remotamente
 
Buenas,


Acabo de migrar de firebird 2.5 a 3.0, la verdad, he tenido que instalar los ultimos componentes ibx para lazarus y sin problema localmente.
Os cuento el tema por si hay algo que se me esta pasando por alto.


Instale en windows firebird 3.0 y tambien en linux, localmente, puedo acceder con la aplicacion que tenia generada y con los nuevos componentes ibx para lazarus que permiten acceder a firebird 3.0.
La cosa cambia cuando intento acceder a un servidor remoto linux con firebird 3.0 tal y como lo hacia antes cuando tenia firebird 2.5 pero en esta ocasion sin exito. A la hora de acceder me dice que no esta definido el user ni el password, pero si me deja acceder con flamerobin sin problemas.
Ya intente copiar las librerias dentro de mi aplicacion pero tampoco tengo exito.
La verdad no se que mas puedo intentar o que se me este pasando por alto porque, como comento, con flamerobin si me deja, si la base de datos esta en local tampoco tengo problemas pero remotamente falta algo. De momento estoy usando el usuario SYSDBA para las pruebas.
Se les ocurre alguna cosa que se me pasara por alto?.
Gracias

Casimiro Notevi 21-08-2019 10:24:41

Si conectas con flamerobin, tienes que conectar con cualquier otro.
Asegúrate de que pones correctamente la ruta.
Y recuerda que en linux son diferentes mayúsculas y minúsculas.

engranaje 21-08-2019 11:15:52

Por intentar aportar algo. Si no me equivoco en firebird 3.0 ya no existe el usuario SYSDBA por defecto. Es posible que no lo tengas creado, y tu aplicación intente conectarse con él en algún momento?. si utilizas un usario y contraseña propio de la base de datos en concreto a la que te estas conectando en Flamerobin, conectaría sin problemas (y desde lazarus también claro). Pero si en tu aplicación Lazarus en algún momento intentas acceder con SYSDBA es posible que te encuentres ese problema si no has creado el usuario.

rretamar 21-08-2019 20:48:20

Algunos tips si usas Firebird 3 bajo Linux:

- Si defines un ALIAS en /etc/firebird/3.0/databases.conf ten en cuenta que el nombre del "alias" en Linux es sensible a mayúscuas y minúsculas.
- Dentro del archivo firebird.conf tendrás que habilitar el acceso remoto, se hace modificando las siguientes líneas:

Cambia "RemoteBindAddress = localhost" por "RemoteBindAddress =" (sin las comillas, se entiende).

Habilita (quitando el comentario) la línea RemoteAccess = true

En cuando al password, cuando instalas Firebird desde el administrador de paquetes, te solicita el password de SYSDBA (o debería hacerlo). Si usas una distribución basada en Debian, también se puede invocar este paso desde la consola, como root:

dpkg-reconfigure firebird3.0-server

De esta forma lo he usado sin problemas.

anubis 21-08-2019 21:36:11

Gracias.
Si, como digo, con flamerobin si funciona, desde linux y windows7, pero desde lazarus con los controles ibx lo rechaza. Antes si funcionaba de la misma manera con la version 2.5 sin problemas, el detalle es con firebird 3.0 que, de forma local si, pero remota no.
Tengo el servidor en linux con opensuse leap y, al instalarlo desde los repositorios no me pide que le asigne una clave a SYSDBA (en neon que tengo en casa si lo hace), tampoco aparece el archivo SYSDBA.password. de Todas formas desde isql le genere una contraseña para SYSDBA, de ahi que pudiera entrar por flamerobin.
Lo que si no puedo conectarme es desde windows 10 incluso bajando las librerias de firebird 3.0 y metiendolas en la carpeta windows


Algo se me escapa, mismas condiciones que la 2.5 pero con la 3.0 no se puede.

anubis 22-08-2019 01:05:43

[solucionado]
 
Buenas,
Aunque este añadiendo otro post a continuacion del mio, les paso la solución que encontre:


en firebird 3.0, a cada base de datos que tenga le tengo que asignar usuario SYSDBA y password, eso al menos para que me abra en flamerobin.
A travès de lazarus y los componentes ibx no me deja usar SYSDBA asi que tengo que añadirle otro usuario para que la puedan ocupar y añadir a ese usuario los roles que tiene para esa base de datos y cada tabla. Si se me hace un poco extraño que desde flamerobin si pueda usar SYSDBA y desde la aplicacion lazarus no me permita usarla.
Puede venir sobre lo que comenta engranaje, pero sigo sin entender el porque en uno si y en lazarus no.


En fin, parece que ya quedo esa parte, se agradece la atencion prestada

engranaje 22-08-2019 09:26:21

Es posible que estes creando un usuario para la base de datos que se llama SYSDBA pero igual que podías haber creado uno que se llamara ADMINISTRADOR


> isql -user sysdba MIBASEDEDATOS
SQL> create user SYSDBA password 'MIPASSWORD';

Podrías probar a crear el sysdba con GSEC aunque este "deprecated"

GSEC -add SYSDBA -pw MIPASSWORD -user SYSDBA

En principio así crearías el usuario sysdba en tu Servidor de firebird y no en una base de datos concreta.

Tiene pinta de que la intención de Firebird es acabar teniendo un sysdba para cada base de datos con el fin de evitar
que copiandola en un servidor del que seas sysdba puedas acceder a ella sin tener ni idea de ninguna contraseña
ni de ningún usuario de esa base de datos.


La franja horaria es GMT +2. Ahora son las 17:14:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi