Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Uso GBAK para mover DataBase-Firibird en el mismo PC?

Tengo que cambiar de ubicación una BaseDeDatos, Firebird, de una carpeta a otra dentro del mismo ordenador. Mi pregunta es si debo usar gbak para copiarla y restaurarla o me vale con moverla usando
el sistema operativo (Windows 7). ¿Se podrían corromper los datos de hacerlo vía Windows?
Responder Con Cita
  #2  
Antiguo 20-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Asegúrate de cerrar todas las conexiones (mejor incluso: desactiva el servicio firebird), la copias/mueves y luego vuelves a activar el servicio firebird.
Responder Con Cita
  #3  
Antiguo 20-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Osea, lo pongo en Stop y quito Running...

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Asegúrate de cerrar todas las conexiones (mejor incluso: desactiva el servicio firebird), la copias/mueves y luego vuelves a activar el servicio firebird.
Supongo que es eso. Lo doy por supuesto si no me contestas.
Responder Con Cita
  #4  
Antiguo 20-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
Lo doy por supuesto si no me contestas.
Mí, no entender
Responder Con Cita
  #5  
Antiguo 21-05-2013
cointec cointec is offline
Miembro
 
Registrado: jul 2004
Ubicación: Alicante-España
Posts: 76
Poder: 20
cointec Va por buen camino
Cuando no haya conexiones, renombra la base de datos, si te deja entonces puedes copiarla sin problemas. Si tuvieses varias bases de datos funcionando, no es una buena idea tener que parar el motor de base de datos para mover una base de datos de ubicación.

Yo suelo utilizar alias en las conexiones. Si cambias la ruta del alias en primer lugar, impides que se puedan conectar a la base de datos mientras la mueves, por supuesto, una vez que se ha renombrado. Una vez en el destino, dejas el nombre al que apunta el alias.
__________________
Un saludo, Jesus García
Responder Con Cita
  #6  
Antiguo 21-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por cointec Ver Mensaje
Cuando no haya conexiones, renombra la base de datos, si te deja entonces puedes copiarla sin problemas..
Ese método no es muy fiable, no sería la primera vez que veo una BD copiada así y que estaba defectuosa, aunque se copió sin problemas.

La opción de cambiar el alias es una estupenda idea.
Responder Con Cita
  #7  
Antiguo 21-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Gracias pero, ¿cómo gestiono los ALIAS? Soy novato

Cita:
Empezado por cointec Ver Mensaje
Cuando no haya conexiones, renombra la base de datos, si te deja entonces puedes copiarla sin problemas. Si tuvieses varias bases de datos funcionando, no es una buena idea tener que parar el motor de base de datos para mover una base de datos de ubicación.

Yo suelo utilizar alias en las conexiones. Si cambias la ruta del alias en primer lugar, impides que se puedan conectar a la base de datos mientras la mueves, por supuesto, una vez que se ha renombrado. Una vez en el destino, dejas el nombre al que apunta el alias.
Sólo contacto con Firebird usando el ISQL y el Guardian. El resto es territorio indio. ¿Serías tan amable de dar alguna indicación sobre como gestionar
los alias en Firebird? Gracias de nuevo.
Responder Con Cita
  #8  
Antiguo 21-05-2013
cointec cointec is offline
Miembro
 
Registrado: jul 2004
Ubicación: Alicante-España
Posts: 76
Poder: 20
cointec Va por buen camino
En el raíz de la instalación de Firebird tienes un archivo (si no existe lo creas) llamado aliases.conf.
El formato es muy simple. En cada línea puedes establecer un par de valores alias=ruta+basededatos.

Por ejemplo,

Midb=c:\bd\midb.fdb

Cuando formas la cadena de conexión, por ejemplo para una conexión local, en vez de localhost:c:\bd\midb.fdb utiliza localhost:midb.

De esta forma es sencillo cambiar la ubicación de la base de datos sin tener que modificar las cadenas de conexión en los puestos cliente.
__________________
Un saludo, Jesus García
Responder Con Cita
  #9  
Antiguo 21-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Entendido, pero no... tanto.

Mi Firebird_2_5 se encuentra en C:\Program Files\Firebird\Firebird_2_5. El archivo de configuración de alias, ¿debe estar en Firebird_2_5?
Parece mentira que de cada paso avanzado, salgan tres o cuatro dudas más.
Yo no acabo de entender como es que mi antigua base de datos Paradox con sólo un TTable se tragara seis mil quinientos registros (y subiendo) como
si nada. Y ahora con Firebird no hace más que decir: "Insuficient memory". Pero bueno, eso es otra historia.
Me pregunto qué componentes son los menos "pesados" para conectar con Firebird. Pero bueno, mejor abro otro nuevo filamento a ver si se me enciende
la mente un poco.
Por cierto, nadie se conecta a mis bases de datos... salvo yo.
Responder Con Cita
  #10  
Antiguo 21-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
En el pájaro de Firebird Guardian del Panel de Control

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Mí, no entender
Perdona. Me refería a detener el servidor Firebird en el pájaro negro y de fondo amarillo del Panel de Control. Donde pone "running" pues que ponga "stop". Un fallo mío.
Eso es desconectar el servidor, ¿no?
Responder Con Cita
  #11  
Antiguo 21-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
Yo no acabo de entender como es que mi antigua base de datos Paradox con sólo un TTable se tragara seis mil quinientos registros (y subiendo) como si nada. Y ahora con Firebird no hace más que decir: "Insuficient memory".
Está claro que ese mensaje no es de firebird.
Para que te hagas una idea, algunos foreros de clubdelphi y yo mismo, tenemos (nuestros clientes) bases de datos firebird de decenas de gigas y cientos de millones de registros por tabla. Con cientos de conexiones y sin problemas, por supuesto.

Cita:
Empezado por bulc Ver Mensaje
Eso es desconectar el servidor, ¿no?
Correcto

Última edición por Casimiro Notevi fecha: 22-05-2013 a las 12:52:00.
Responder Con Cita
  #12  
Antiguo 22-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Algo no encaja, tengo 4 gigas de Ram

Ahora ya más en serio. Tengo una base de datos con nueve campos, tres blobs de texto y uno de gráficos. En total tiene 6500 registros.
Uso IBDataBase, IBDataSet, IBTransaction, Provider y ClientDataSet. Cuando intento activar a true el ClientDataSet, éste se lo piensa, se toma un tiempo
y al final me dice: Insuficient Memory for this operation. Mi ordenador sobremesa tiene 4 gigas de ram.
En cambio estos mismos datos, en una tabla Paradox corren en un portátil de 1 giga de ram sin problemas.
¿Qué es lo que hago mal?
Responder Con Cita
  #13  
Antiguo 22-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
¿Qué es lo que hago mal?
Me temo que no somos adivinos y necesitamos ver el proyecto o algún trocito de código
Responder Con Cita
  #14  
Antiguo 22-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Pero, si estoy en la parte de diseño...

Te lo copiaría con mucho gusto, pero estoy en la parte de diseño. Date cuenta. Coloco los componentes en el Form (sin DataModule) y el atasco viene
al llegar al componente ClientDataSet. En el momento que intento poner Active=True.
De todos modos si me dices qué otra cosa puedo hacer, lo haré. Pero código-código es que no he llegado a poner ni una coma.
He puesto sólo los componentes. Si quieres que te dé detalles de conexión en el IBDataBase...u otros dímelo.
Muchas gracias por tu interés. Realmente estoy atascado...
Tal vez algún recurso (Tabla) que no se ha cerrado.

Última edición por bulc fecha: 22-05-2013 a las 12:42:57.
Responder Con Cita
  #15  
Antiguo 22-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
AutoRespuesta al error de insuficiencia de memoria en ClientDataSet

Después de cerrar ClubDelphi me di una vuelta buscando ClientDataSet error y en Intitec.com me enteré que hay una propiedad en el TClientDataSe que
se llama PacketData. Normalmente está asignada a -1, lo cual quiere decir en lenguaje novato que se engulle toda la tabla y la pasa a la memoria.
Si se asigna a PacketData, por ejemplo 100; irá cargando de 100 en cien según se vayan agotando los cien anteriores. Lo que no entiendo es como va
marchar atrás. Supongo que será lo mismo. Lo que me intriga es que el ClientDataSet trabaja emparejado con el TDataSetProvider (como su nombre indica)
también tendría que poder controlar el nº de registros que se cargan. ¿Sabes si es así y cómo se hace?
El caso es que volví al Delphi y cambié el PacketData. Ay, amigo. entonces se cargan esos registros sin rechstar y sin molestar con el terrible y ominoso
"Insuficient memory".
Responder Con Cita
  #16  
Antiguo 22-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, lo que comentas y preguntas está explicado en los libros que te he recomendado varias veces "La cara oculta de delphi 4 y 6"
Es algo que Al González también te puede haber explicado, pero, como te dije antes, no somos adivinos y no vemos tu código
Responder Con Cita
  #17  
Antiguo 22-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Bueno, todo acaba bien

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Bueno, lo que comentas y preguntas está explicado en los libros que te he recomendado varias veces "La cara oculta de delphi 4 y 6"
Es algo que Al González también te puede haber explicado, pero, como te dije antes, no somos adivinos y no vemos tu código
Es que no siempre el código lo resuelve todo. Los novatos dejamos el código para el final. Ya ves, al final todo se arregló y yo contento. Ahora a ver si acabo lo que me falta. Seguro que sí.
Un abrazo para los moderados.
Responder Con Cita
  #18  
Antiguo 22-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
Después de cerrar ClubDelphi me di una vuelta buscando ClientDataSet error y en Intitec.com me enteré que hay una propiedad en el TClientDataSe que se llama PacketData. Normalmente está asignada a -1, lo cual quiere decir en lenguaje novato que se engulle toda la tabla y la pasa a la memoria.
Buen sitio es esa web.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿ Existe una versión moderna de database desktop o otro software que haga lo mismo? Master23 Varios 1 13-06-2010 06:40:06
Mover dos formularios al mismo tiempo santus OOP 3 01-08-2008 19:38:29
Problema para el Soporte de The Borland Database Engine mordones Conexión con bases de datos 4 24-12-2007 18:55:34
Clausula SQL para mover un registro karlaoax SQL 1 17-08-2007 21:49:25
Impedir mover el form y redimensionar al mover barra tareas jealousy API de Windows 0 15-06-2004 12:58:05


La franja horaria es GMT +2. Ahora son las 18:55:25.


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
Copyright 1996-2007 Club Delphi