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-06-2003
Tomás Tomás is offline
Miembro
 
Registrado: may 2003
Ubicación: Elche
Posts: 140
Poder: 21
Tomás Va por buen camino
Instalar en directorio diferente

He instalado una aplicación con una base de datos InterBase y solo me funciona si la instalo en un directorio (carpeta) con la misma ruta y nombre que el que tenía en mi ordenador (no es de red).

¿Qué hay que hacer para que funcione en cualquier disco y/o carpeta?.

No se si tendrá importancia que lo he instalado con QSetup, un instalador gratis para desarrolladores independientes, y aunque está en inglés, la instalación la genera en español (entre otos muchos idiomas).

Un saludo. Tomás
Responder Con Cita
  #2  
Antiguo 20-06-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Supongo que lo que te ocurre es que tenes la ruta completa a tu base de datos, por eso te funciona solamente en la misma carpeta.

Digamos que tenes la base de datos en "C:\desarrollo\misistema\data\datos.gdb",

Podes hacer que la ruta sea relativa al abrir el sistema, digamos teniendo la base de datos solo en

".\data\datos.gdb".

No puedo decirte exactamente como porque no mencionas con que te conectas a la base de datos, ni cuales parámetros de conexión estás utilizando.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 20-06-2003
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Puede ser que las tablas o la conección esten abiertas en tiempo de diseño, al ejecutarse el programa ira a buscar los datos en el directorio donde apunta en diseño antes de cargarse, si existen, los parametros de la conección y por eso solo funciona con el mismo paso que como fue desarrolada la aplicación. Espero que esto te ayude
Responder Con Cita
  #4  
Antiguo 20-06-2003
Tomás Tomás is offline
Miembro
 
Registrado: may 2003
Ubicación: Elche
Posts: 140
Poder: 21
Tomás Va por buen camino
Al crear la base de datos nombre completo: c:\tdprofes\tdprofes.gdb y en el alias tdprofes.gdb

Conectado con TIBDatabase, TIBTransaction, TIBDataSet y en el componente TIBDatabase en la propiedad DatabaseName la ruta completa c:\tdprofes\tdprofes.gdb y seguramente es esto. Cambiaré poniendo solo tdprofes.gdb y probaré.

Supongo que era esto lo que me indicabas. Si es otra cosa me lo dices.

También puedría ser lo que apunta adrianD porque es para un amigo y se lo instalé sin estar rematado para que lo viera, y al diseñarlo si tenía todo abierto.

Un saludo. Tomás.
Responder Con Cita
  #5  
Antiguo 20-06-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Si solo pones el nombre del archivo, no lo encontrará y por tanto no podrá abrirlo. Tienes que indicar también la ruta (como hacías). Pero dado que la ruta puede cambiar, lo que tienes que hacer es especificar la ruta por código antes de abrir la conexión.

No utilizo IBX por lo que no te puedo indicar los pasos exactios, pero basicamente siempre es lo mismo : Primero, tienes que guardar en algun lugar (por ejemplo en un archivo .ini) la dirección del archivo. Segundo, antes de abrir la conexión, por ejemplo en el evento BeforeConnect, tienes que cambiar la ruta de la propiedad DatabaseName, por la ruta guardada en el archivo .ini

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #6  
Antiguo 21-06-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
o si va a estar en la misma carpeta que tu aplicación, podes hacer:

Código:
DataBaseFileName := ExtractFilePath(ExpandFileName(ParamStr(0))) + 'LaBaseDeDatos.gdb';
Donde DataBaseFileName es la propiedad o parámetro donde indicas el archivo de la base de datos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 23-06-2003
Tomás Tomás is offline
Miembro
 
Registrado: may 2003
Ubicación: Elche
Posts: 140
Poder: 21
Tomás Va por buen camino
Tal y como apuntabais, poniendo solo el nobre del archivo no funcina, hay que poner toda la ruta.

Como sí que tengo la base de datos en la misma carpeta que la aplicación, con el código que me indica jachguate funciona. Me queda así:

IBDBProfes.DatabaseName := ExtractFilePath(ExpandFileName(ParamStr(0))) + 'TDPROFES.GDB';

Muchas gracias a todos. Tomás.
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


La franja horaria es GMT +2. Ahora son las 22:40:24.


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