FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Base de datos de solo lectura
Tengo pensado hacer una aplicacion que acceda a una base de datos firebird alojada en un cd-rom, e conseguido para esto hacer funcionar el firebird embebido para que no se tenga que instala ningun servidor, mi probrema es que cuando la base de datos esta en el cd sus permisos son de solo-lectura (para no grabar uno le he cambiado solo el permiso al archivo), con lo cual cuando el programa que estoy haciendo intenta conectar con ella me sale un mensaje diciendo que la base de datos a la que estoy intentando conectar es de solo lectura con lo cual no conecta a la base de datos y no puedo acceder a ella.
E probado a intentar conectarme con los componentes iboobject y las ibx, con el mismo resultado. |
#2
|
||||
|
||||
Hola,
de la documentación (Operations Guide): Making a database read-only To change the mode of a database between read-write and read-only, you must be either its owner or SYSDBA and you must have exclusive access to a database. You must have exclusive to a database to change it to read-only mode. From within InterBase, you can change a read-write database to read-only mode in any of three ways: 1 In IBConsole, select the database, display its properties, and edit the mode. 2 Use gbak to back up the database and restore it in read-only mode: gbak -create -mode read_only foo.gbk foo.gdb 3 Use gfix to change the mode to read-only: gfix -mode read_only foo.gdb Hay algunas cosas más a tener en cuenta; te remito a la documentación (volumen Operations Guide). Saludos. |
#3
|
|||
|
|||
Bien, con el ib expert e conseguido q la base de datos se lea en modo de solo lectura gracias al menu data properties, ahora mi pregunta es como podria hacer esto por codigo para poder poner una opcion a mi programa de poner la base de datos como solo lectura mediante un script
|
#4
|
||||
|
||||
Hola,
con un script SQL, hasta lo que yo sé, es imposible. La única opción que te queda es con un script de sistema (utilizando el punto 2 ó 3 de mi primer mensaje). Saludos. Actualización: es "la única opción que te queda" si quieres utilizar scripts, ya que siempre puedes utilizar el API de servicios (bien directamente o desde algún componente de acceso [IBX, IBO, FIBPlus, ...]) desde tu aplicación cliente para lanzar un proceso de recuperación o reparación que fije la base de datos como de sólo lectura. Última edición por kinobi fecha: 23-03-2004 a las 12:12:12. |
#5
|
|||
|
|||
Base datos solo lectura
Hola:
Yo con tengo una aplicacion que es un catalogo distribuido en cd-rom, esta con interbase, pero supongo que dara igual, lo que hago es mas o menos lo que te han comentado arriba, tengo un bat que se ejecuta cuando el usuario quiere generar dicho cd rom y es: |
#6
|
|||
|
|||
Base datos solo lectura
lo siento me falto el final.
Yo realice una aplicacion que es un catalogo distribuido en cd-rom, esta con interbase, pero supongo que dara igual, lo que hago es mas o menos lo que te han comentado arriba, tengo un .bat que se ejecuta cuando el usuario quiere generar dicho cd rom y es: cd C:\Archiv~1\Borland\InterB~1\bin gbak -B -user usuario -pas pasword ipservidor:unidad:Catalogo/catalogo.gdb c:\Catalogo\datos\catalogo.gbk gbak -R -user SYSDBA -pas masterkey -mo read_only c:\Catalogo\catalogo.gbk c:\Catalogo\datos\catalogo.ro y catalogo.ro es lo que copio junto con el ejecutable y el instalador de Ib en el CD. Saludos |
|
|
|