Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Pasar a monousuario (https://www.clubdelphi.com/foros/showthread.php?t=11315)

guillotmarc 10-06-2004 21:41:27

Pasar a monousuario
 
Hola.

¿ Alguien sabe si es posible pasar una base de datos Firebird 1.03 a monousuario ?.

Con el gfix veo que se puede pasar a solo lectura, pero no veo que se pueda pasar a modo monousuario (la verdad es que ni tan siquiera sé si existe ese modo en Firebird).

NOTA : La razón es que cuando actualizo mediante Scripts las Bases de Datos, me gustaría asegurar que nadie puede molestar el proceso (solo con que haya otra conexión activa que haya utilizado un índice, ya no deja borrarlo).

Gracias de antemano, y un saludo.

SCORDOBA 11-06-2004 15:31:42

este comando te tira fuera todas las conexiones y solo deja conectar a SYSDBA

gfix -SHUT -FORCE 1 -USER SYSDBA -PASS masterkey basededatos.gdb

con este la pones otra vez en produccion

gfix -online -USER SYSDBA -PASS masterkey basededatos.gdb

Saludos

guillotmarc 11-06-2004 20:47:37

Hola.

Es interesante, pero lamentablemente creo que no me va a servir, puesto que en mis aplicaciones todos los usuarios entran como SYSDBA (la gestión de seguridad se hace internamente con tablas propias en la aplicación).

Por eso, podrian volver a conectarse otras estaciones mientras se esté pasando un Script.

Aunque realmente es muy interesante.

Gracias.

vecino 11-06-2004 22:01:49

Hola:

Si el servidor es linux puedes probar algo como esto:
Código:

iptables -P INPUT DROP
De esta forma bloqueas los accesos remotos mientras haces lo que necesites.
De todas formas, verifícalo antes, pues lo he escrito de memoria, no tengo ahora mismo un linux a mano.

Saludos.

guillotmarc 11-06-2004 22:10:37

La solución es un poco radical. Evitas que entren a tu base de datos, pero también cortas cualquier otro tipo de conexión TCP/IP.

Aunque pensandolo bien, si se bloquea solo el puerto 3050 seria una buena solución. Lamentablemente todos mis clientes tienen Windows, y no conozco ninguna forma de bloquear un puerto TCP/IP por código en Windows.

Gracias por la idea.

Saludos.

Julià T. 11-06-2004 22:49:10

Si realizas las modificaciones desde el servidor, puedes parar el servidor de firebird y connectar sólo con la libreria embedded con lo que ninguna conexión externa al servidor se podrá connectar a firebird.
Tambiés espero que hayan mejores soluciones.

SCORDOBA 14-06-2004 09:07:04

Puedes implementarlo con un semaforo. Pones un valor en una tabla que se lee siempre cuando se conecta la aplicacion. Si esta rojo no dejas que pase nadie.

Santiago

guillotmarc 14-06-2004 11:08:18

Hola.

Cita:

Empezado por Julià T
Si realizas las modificaciones desde el servidor, puedes parar el servidor de firebird y connectar sólo con la libreria embedded con lo que ninguna conexión externa al servidor se podrá connectar a firebird.

No puedo debido a que aún estoy con Firebird 1.

Cita:

Empezado por SCORDOBA
Puedes implementarlo con un semaforo. Pones un valor en una tabla que se lee siempre cuando se conecta la aplicacion. Si esta rojo no dejas que pase nadie.

Me parece que va a ser lo mejor.

Saludos y gracias a ambos.


La franja horaria es GMT +2. Ahora son las 13:04:33.

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