Firebird con varios usuarios

Discute sobre las herramientas de la base de datos
Responder
JFRAN80
Mensajes: 22
Registrado: Mar Ago 06, 2019 8:09 am

Firebird con varios usuarios

Mensaje por JFRAN80 »

Estoy migrando mis bases de datos a Firebird y me he dado cuenta que con este motor si pueden acceder varias personas a la vez a la base de datos que se encuentra en red. Sin embargo, no soy capaz de decirle a la base de datos que me indique si estoy en modo lectura o como editor. Si alguien puede aportar algo de luz. Gracias.
Libreoffice 6.3.2.2 en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Firebird con varios usuarios

Mensaje por Longi »

No sé si es algo distinto a lo que yo siempre vi en HSQLDB 1.8.
Yo trabajaba (y trabajo) con bases de datos de open/libre en carpetas compartidas y teníamos acceso a lectura todos, pero el primero en abrirla la bloqueaba para los demás.
Más aún: si el que la tenía bloqueada cerraba base, pero seguía con otro documento de la suite abierto, la base seguía bloqueada para todos los demás.
Más aún: en no pocas ocasiones, cuando cierras tu último documento (tanto de Libre como de Open), el servicio soffice.bin sigue activo, con lo que, aunque consideras que lo tienes todo cerrado, sigues bloqueando base para el resto de usuarios de las carpetas compartidas.
Esto tiene pinta de ser un problema de la suite y no de base, ya que parece que el comportamiento es igual para los dos motores.
Ah! y en mi experiencia no, no avisa, o al menos nunca supe cómo sacar un aviso al respecto.

Otro saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
JFRAN80
Mensajes: 22
Registrado: Mar Ago 06, 2019 8:09 am

Re: Firebird con varios usuarios

Mensaje por JFRAN80 »

Es que es un rollo, imagínate llevarte un rato metiendo información sin saber que estás en modo lectura!! :? :?
Libreoffice 6.3.2.2 en Windows 10
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Firebird con varios usuarios

Mensaje por mriosv »

Es que hay que aclararse con el concepto.
Cuando utilizas la base de datos embebida en base, sea la de Firebird o la anterior, nunca puede ser compartida para edición entre usuarios, entre otras cosas porque cada uno abre la base embebida en su propio ordenador, y que solo cada uno puede acceder.

Para poder utilizar la base de Firebird de forma que sea accesible por varios usuarios:
- Instalar el servidor de Firebird de la versión 3.0 en un ordenador.
- Sacar la base de datos embebida del fichero de base al ordenador con el servidor Firebird.
- Sustituir en Base la base de datos embebida por la exterior utilizando el SDBC de base Archivo Firebird.

Teneis un fantástico foro sobre Firebird en https://firebird21.wordpress.com/
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
JFRAN80
Mensajes: 22
Registrado: Mar Ago 06, 2019 8:09 am

Re: Firebird con varios usuarios

Mensaje por JFRAN80 »

Ok, realmente es lo que dices, hay que entender el concepto y me está costando bastante. Mañana intentaré probar lo que dices. Gracias por aclararme algo el funcionamiento.
Libreoffice 6.3.2.2 en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Firebird con varios usuarios

Mensaje por Longi »

Se me olvidaba!

Al menos con hsqldb sí que había una manera muy tonta de saber si ya había otra persona trabajando en la base de datos:
Al iniciar la aplicación abre en el panel de formularios (normalmente, salvo que lo hayas cambiado), incluso si tienes diseñado para que al abrir la aplicación se inicie con un formulario 'lanzadera', por unos segundos tienes ante ti el panel de formularios.
Bien!, en la parte superior, la dedicada al diseño de formularios tienes dos opciones: crear formulario..... o bien usar asistente....., pues si estas palabras se encuentran en gris, es que la base está ocupada. Si están en negro está libre.
Como el sistema sí que se entera y lo muestra de esta manera tan sutil, supongo que de alguna manera que yo desconozco, por código se podría llegar a lanzar un msgbox con el aviso, pero ya digo, yo no tengo ni idea de cómo hacerlo.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
JFRAN80
Mensajes: 22
Registrado: Mar Ago 06, 2019 8:09 am

Re: Firebird con varios usuarios

Mensaje por JFRAN80 »

Mriosv podrías decirme si conoces algún manual para realizar lo que me dices, es que llevo todo el día buscando por internet y en el foro que has comentado y no hay manera.
Libreoffice 6.3.2.2 en Windows 10
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Firebird con varios usuarios

Mensaje por mriosv »

Supongo que la parte parte de instalar el servidor de Firebird la tienes solucionada.

Mas complicada es extraer la base de Firebird de Base y hacerla accesible al servidor.
Abriendo el fichero de base xxxxxx.odb con un compresor de ficheros, tienes acceso a su contenido.
Dentro del fichero en el directorio 'Database' esta el fichero de Firebird, extraelo del fichero comprimido al directorio en que quieras instalarlo.
Pero el fichero xxxxx.fbk esta en el formato de su copia de seguridad que se realiza con el comando gbak de Firebird, utilizando el mismo comando gbak puedes obtener el fichero xxxxxxxx.fbd que es el que se puede acceder con el servidor de Firebird.
"rutaInstalacionFirebird\bin\gbak" -c fichero.fbk fichero.fdb
En el foro comentado puedes encontrar información sobre el uso de gbak o bien ejecutándolo sin ninguna opción.

Si no estoy equivocada en el fichero de Base lo archivan en formato backup por dos razones, una que se reduce mucho el tamaño, y otra para ganar independencia respecto a futuros cambios en la estructura del fichero de base de datos de Firebird.

En la última parte de cambiar el acceso de la base interna a la externa, veo que cuando estamos con un firebird embebido no permite el cambio de base de datos Menú/Editar/Base de datos.
Creo que para esta parte la solución es crear una nueva como Archivo Firebird y seleccionando el fichero.fdb.
Después con los dos fichero abiertos, arrastrar los formularios, consultas y reportes del viejo al nuevo.
Aunque me imagino que buceando un poco en el fichero de Base, sería posible hacer el cambio y eliminar la base de datos embebida.

Algunas de las ventajas del uso de Firebird, además de ser de Código Abierto, el servidor es muy ligero en consumo de recursos, no necesita de java por ejemplo, y en mi experiencia es solida como una roca.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Firebird con varios usuarios

Mensaje por Longi »

Buenas de nuevo!
Si estás en un entorno corporativo en el que no te dejen instalar nada no sé si podrás trabajar con Firebird Server.
En mi caso he utilizado HSQLDB2.3, que lleva el motor en una carpeta, sin instalación, por lo que funciona bien (supongo que todo es mejorable), con el 'defecto' de que necesita Java.
Si se pudiese hacer algo similar con FireBird agradecería la explicación para poder pasar definitivamente a Firebird.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
mriosv
Mensajes: 2335
Registrado: Sab Dic 27, 2008 1:12 am
Ubicación: Galiza (España)

Re: Firebird con varios usuarios

Mensaje por mriosv »

Si no estoy equivocado, Firebird se puede instalar como servicio o como aplicación.

Descargando el .zip de instalación para windows, descomprimiendolo en un directorio, y desde ahí ejecutas 'Firebird.exe -a'

https://stackoverflow.com/questions/399 ... pplication

Suponiendo que quieras permitir el acceso a otros usuarios simultaneamente, sino se puede utilizar la versión embebida.
Puedes usar "Subir adjunto" en Respuesta rápida - Editor Completo - Pestaña Subir adjunto
Apache OpenOffice 4, LibreOffice (Win10x64)
JFRAN80
Mensajes: 22
Registrado: Mar Ago 06, 2019 8:09 am

Re: Firebird con varios usuarios

Mensaje por JFRAN80 »

Efectivamente, como dice Longi no puedo instalar el Servidor de Firebird en mi empresa, así que nada.... Seguiré buscando a ver si hay alguna manera de que Base con el motor de Firebird indique que la base de datos está en uso al igual que pasaba con Access. Gracias de todos modos a los dos.
Libreoffice 6.3.2.2 en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Firebird con varios usuarios

Mensaje por Longi »

Lee en este mismo hilo, una de mis respuestas dice algo sobre cómo distinguir si la tiene otra persona abiera o no
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
JFRAN80
Mensajes: 22
Registrado: Mar Ago 06, 2019 8:09 am

Re: Firebird con varios usuarios

Mensaje por JFRAN80 »

Longi lo ví, y de este modo cualquiera con algo de conocimientos se da cuenta rápido, pero como ya he leído muchas veces en este foro a la gente o se lo das todo mascado o te la acaban liando.
Libreoffice 6.3.2.2 en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Firebird con varios usuarios

Mensaje por Longi »

De momento no sé mascar más.
Si lo que escriben en un registro lo tienen que volver a escribir, quizá empiecen a mascar por sí mismos.

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Responder