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 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Problema para actualizar el servidor

El tema es el siguiente, tenemos un servidor (RX300) funcionando con Win 2003 server y nos gustaría actualizarlo a Ubuntu.

El problema es que tenemos un programa comercial y que tienen unos cuantos cientos de clientes por todo el mundo (conocido), al arrancar se conectan a nuestra base de datos y comprueban unos datos.

Acceden de la forma "IP:C:/directorio/basededatos.FDB" y el cambiar el SO junto con lanzar la nueva versión con los paths modificados haría que muchos clientes con la versión anterior tuvieran problemas serios.

¿Alguna manera de gestionar las DBs independientemente del SO y del path?

¡Saludoses!

PD: Encima tenemos que usar la versión 1.5
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #2  
Antiguo 03-09-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, papulo, ¿te sirven los "alias"?

En el firebird tienes un ficherito llamado aliases.conf y en él creas un alias para la base de datos, por ejemplo:

Código:
misdatos = 192.198.0.100:/mnt/datos/basedatos.fdb
Los clientes conectarían a "misdatos" y no tienen que saber nada sobre la ubicación real de la base de datos.
Esto te permite cambiar (redirigir) el alias a donde te interese en cualquier momento, por ejemplo, se te estropea el servidor y montas uno provisional en windows, entonces con cambiar esa línea en el "aliases.conf" tendrías suficiente, por ejemplo:

Código:
misdatos = 192.198.0.88:c:\datos\basedatos.fdb
y así, de esta manera, los clientes siempre conectarían a "misdatos" y tú podrías cambiar la base de datos al servidor/sistema/directorio que quieras en cualquier momento.




Edito: en tu caso tampoco te valdrá porque tendrías que cambiarlo en tus clientes y sería lo mismo que si le cambias la dirección completa real a la base de datos
Responder Con Cita
  #3  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Hola mister, gracias por la pronta respuesta.

Ahora sacaremos una nueva versión, por eso no es problema.

El caso es que los alias no los podemos usar con Delphi 7, o al menos no sabemos como usarlos con los componentes estándar.

¿Alguna solución a ello?

Gracias mil y me alegro de "verte".
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0

Última edición por papulo fecha: 03-09-2008 a las 11:57:26.
Responder Con Cita
  #4  
Antiguo 03-09-2008
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
solo tienes que cambiar la cadena de conexion
en vez de poner la ip y la ruta , pones el nombre del alias y ya esta.


Cita:
Empezado por papulo Ver Mensaje
Hola mister, gracias por la pronta respuesta.

Ahora sacaremos una nueva versión, por eso no es problema.

El caso es que los alias no los podemos usar con Delphi 7, o al menos no sabemos como usarlos con los componentes estándar.

¿Alguna solución a ello?

Gracias mil y me alegro de "verte".
Responder Con Cita
  #5  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Si no es mucho pedir ¿me podrías poner un ejemplo ilustrativo?

A parte, no entiendo como puedes realizar una conexión si el programa se ejecuta desde otro ordenador fuera de tu dominio, hacía una IP publica.

¡Saludoses!
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #6  
Antiguo 03-09-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 18
donald shimoda Va por buen camino
Cita:
Empezado por papulo Ver Mensaje
Si no es mucho pedir ¿me podrías poner un ejemplo ilustrativo?

A parte, no entiendo como puedes realizar una conexión si el programa se ejecuta desde otro ordenador fuera de tu dominio, hacía una IP publica.

¡Saludoses!
Amigo , primero que nada tiene que tener acceso a tu servidor a través de una IP conocida y el puerto 3050 (default en FB) debe estar abierto desde tu cliente a tu servidor. Como lograr eso excede los alcances de este articulo porque varia segun que configuración de redes tengas, si tienes routers, etc etc, pero puedes consultarme de manera privada dando mas detalles y te cuento.

Una vez que ese punto esta logrado, es tan simple como te comentan los otros foristas.

Saludos cordiales.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #7  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Veamos, tenemos IP fija en el servidor y el router con el puerto 3050 abierto y apuntando a la IP correspondiente con el PC que tiene las bases de datos.

La infraestructura para permitir conexiones desde fuera de la empresa está perfecta.

Lo que necesito, sabiendo por ejemplo, que la IP fuera 88.77.66.55 y el path a la base de datos "c:/Database/Current/MiBase.FDB", es como se haría la conexión por código, comparando la conexión tradicional con la conexión con álias.

Saludos.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0

Última edición por papulo fecha: 03-09-2008 a las 16:46:53.
Responder Con Cita
  #8  
Antiguo 03-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por donald shimoda Ver Mensaje
pero puedes consultarme de manera privada dando mas detalles y te cuento.
Aunque desde luego puede consultarte de manera privada, sería más útil para todos los demás hacerlo en público, que de esto tratan estos foros, de ayudar a todos.

// Saludos
Responder Con Cita
  #9  
Antiguo 03-09-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 18
donald shimoda Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Aunque desde luego puede consultarte de manera privada, sería más útil para todos los demás hacerlo en público, que de esto tratan estos foros, de ayudar a todos.

// Saludos
Entiendo, solo que como no dio detalles de su servidor en cuanto a estructura, entendí que lo hacia por privacidad. veo que no porque publico en un foro publico la ip . Espero que no sea la real.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #10  
Antiguo 03-09-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 18
donald shimoda Va por buen camino
Cita:
Empezado por papulo Ver Mensaje
Veamos, tenemos IP fija en el servidor y el router con el puerto 3050 abierto y apuntando a la IP correspondiente con el PC que tiene las bases de datos.

La infraestructura para permitir conexiones desde fuera de la empresa está perfecta.

Lo que necesito, sabiendo por ejemplo, que la IP fuera 88.77.66.55 y el path a la base de datos "c:/Database/Current/MiBase.FDB", es como se haría la conexión por código, comparando la conexión tradicional con la conexión con álias.

Saludos.
Bueno, entonces esta facil.

Primero te vas al archivo aliases.conf en la carpeta de firebird y agregas la siguiente linea:

aliasnuevo = c:/Database/Current/MiBase.FDB

Luego en tu componente servidor en tu aplicación cliente (que no aclaras cual usas) colocas como string 88.77.66.55:aliasnuevo.

Listo.

No puedo dejar de recomendarte que pruebes alguna librería de capas intermedias , como remobjects. El acceso a través de internet a servidores SQL no es la solución más adecuada a mi entender.

Saludos.

Editado, perdon, decis que vas a usar linux? Si usas linux el path deberia ser a un directorio linux , ejemplo


aliasnuevo = /var/data/MiBase.FDB

para windows , estan al reves los slash!!!

deberia ser:

aliasnuevo = c:\Database\Current\MiBase.FDB

espero que te sirva.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal

Última edición por donald shimoda fecha: 03-09-2008 a las 17:04:01.
Responder Con Cita
  #11  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Para aclarar el tema.

Para ser exactos uso el componente IBDatabase de la pestaña InterBase.

Entonces, si mal no he entendido, en el campo "DatabaseName" del elemento IBDatabase, con poner "88.77.66.55:ElAlias" ya tendría que hacer la conexión correctamente desde fuera.

¿Correcto?
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #12  
Antiguo 03-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.562
Poder: 25
egostar Va camino a la fama
Hola

Hace unos dias en la reunión de Club Delphi que tuvimos hace poco en México vimos la funcionalidad de los WebServices y en mi blog desarrolle la forma como se crea, se publica y se consume un WebService.

Sin embargo, viendo el potencial me pregunté si un WebService puede ser usado para crear aplicaciones web consumiendo un WebService que acceda a la base de datos por Internet pero el acceso a la base de datos seria local.

En mis tiempos libres he hecho unas pruebas de un WebService con acceso a base de datos y si es posible; aún estoy verde en este asunto sobre todo por las concurrencias y por las transacciones, pero pienso que es una muy buena alternativa.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #13  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Hola Egostar,

primero de todo, gracias por la aportación, pero en este caso no estoy buscando una alternativa (que ahora estamos preparando la versión online del programa :P) sino una solución concreta a un problema acotado.

Y si mal no he entendido al resto de compañeros, la duda que tenía se está disipando positivamente a marchas forzadas

PD: Da gusto "encontrarse" con gente tan educada, un aplauso para todos.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #14  
Antiguo 03-09-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 18
donald shimoda Va por buen camino
Cita:
Empezado por papulo Ver Mensaje
Para aclarar el tema.

Para ser exactos uso el componente IBDatabase de la pestaña InterBase.

Entonces, si mal no he entendido, en el campo "DatabaseName" del elemento IBDatabase, con poner "88.77.66.55:ElAlias" ya tendría que hacer la conexión correctamente desde fuera.

¿Correcto?
No uso ese componente, y si vas a usar firebird los componentes de delphi tienen problemas. Pero bueno, como me imagino que a estas alturas cualquier recomendación es inútil, dado que lo que quieres es solo echar a andar la cosa, dejame revisar...

Confirmado y probado.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #15  
Antiguo 03-09-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 18
donald shimoda Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
En mis tiempos libres he hecho unas pruebas de un WebService con acceso a base de datos y si es posible; aún estoy verde en este asunto sobre todo por las concurrencias y por las transacciones, pero pienso que es una muy buena alternativa.

Salud OS
Amigo, si quieres experimentar puedes empezar de cero y leer varios libros y codificar de cero web services.

Si lo que quieres es explotar las virtudes de un modelo n-cap, con servicios remotos (tanto web services como otros basados en otras tecnologias) echale un vistazo a remobjects o a kbm. No tienen desperdicio, y te ahorraras muchas horas de trabajo con un resultado muy bueno sobre tus aplicaciones remotas.

Saludos
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #16  
Antiguo 03-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.562
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por papulo Ver Mensaje
Para aclarar el tema.

Para ser exactos uso el componente IBDatabase de la pestaña InterBase.

Entonces, si mal no he entendido, en el campo "DatabaseName" del elemento IBDatabase, con poner "88.77.66.55:ElAlias" ya tendría que hacer la conexión correctamente desde fuera.

¿Correcto?
Esta es la forma como yo accedo a mi base de datos,

Para no tener que modificar el codigo cada vez que cambia la IP o el nombre de servidor recupero los datos del registro de windows (algunos les gusta mas usar archivos INI, en todo caso el valido de ambas formas)

En el evento OnCreate de la forma principal

Código Delphi [-]
procedure TFMenu.FormCreate(Sender: TObject);
begin
  { Obtiene Parametros de Comunicacion a Base de Datos }
  LlaveRegistro             := 'Software\STarADM\';
  FIniFile                  := TRegIniFile.Create();
  FIniFile.RootKey          := HKEY_LOCAL_MACHINE;
  RutaBase                  := FIniFile.ReadString(LlaveRegistro+'DATA', 'DataBasePath', '');
  RutaBaseBackup            := FIniFile.ReadString(LlaveRegistro+'DATA', 'BackupBDPath', '');
  Servidor                  := FIniFile.ReadString(LlaveRegistro+'DATA', 'Server', '');
  FIniFile.Free;
end;

Y en el evento OnCreate del DataModule

Código Delphi [-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
  case FMenu.protocolo of
     0: IBDatabase1.DatabaseName := FMenu.Servidor+':'+FMenu.RutaBase;
     1: IBDatabase1.DatabaseName := '\\'+FMenu.Servidor+'\'+FMenu.RutaBase;
  end;
  try
  IBDatabase1.Open;
  except
    ShowMessage('Hubo un error al inicializar la conexión con la base de datos.'#13+
                 'Verifique que los datos de acceso a la base sea la correcta'#13+
                 'en el menu Herramientas->Configuración'#13+
                 'Después de modificar los datos, reinicie esta aplicación.');
  end;
end;

Espero te de una idea mas clara.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #17  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
Gracias Egostar, ahora le pegaré un buen vistazo y mañana dejaré las impresiones.

Por otra parte, Donald, mi intención no es "probar", mas bien tenemos todo el programa desarrollado, la infraestructura montada y ahora, cuando hemos pensado en migrar el servidor de uno con Windows a uno con Ubuntu, hemos visto los problemas que había con el acceso a las bases de datos y el tema de los Alias, todo ello usando el componente antes nombrado.

Saluditos.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #18  
Antiguo 03-09-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 18
donald shimoda Va por buen camino
Cita:
Empezado por papulo Ver Mensaje
G
Por otra parte, Donald, mi intención no es "probar", mas bien tenemos todo el programa desarrollado, la infraestructura montada y ahora, cuando hemos pensado en migrar el servidor de uno con Windows a uno con Ubuntu, hemos visto los problemas que había con el acceso a las bases de datos y el tema de los Alias, todo ello usando el componente antes nombrado.

Saluditos.
Te entiendo amigo, pero no creo que ahora en windows lo tengas funcionando con firebird o si? Si asi es y lo tenes con ese conjunto de componentes , pues que suerte tuviste de que haya corrido en todos los clientes que tiene sen el mundo, porque el ibdataset es sumamente incompatible con FIREBIRD, mas alla de que tiene una performance malísima.

P.D. Quizas a eso se deba que no puedas usarlo con la version mejorada de firebird 2.0x?
Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #19  
Antiguo 03-09-2008
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 20
papulo Va por buen camino
De hecho, lo usamos con la rama 1.5, y ya migraremos para la versión 2.5.

Por ahora es lo que hay, pero mi intención es ver como lo podremos cambiar.

Cita:
Empezado por donald shimoda Ver Mensaje
Te entiendo amigo, pero no creo que ahora en windows lo tengas funcionando con firebird o si? Si asi es y lo tenes con ese conjunto de componentes , pues que suerte tuviste de que haya corrido en todos los clientes que tiene sen el mundo, porque el ibdataset es sumamente incompatible con FIREBIRD, mas alla de que tiene una performance malísima.

P.D. Quizas a eso se deba que no puedas usarlo con la version mejorada de firebird 2.0x?
Saludos.
Piensa que el desarrollo el programa es de hace 4 años, por lo que en un entorno empresarial no vas a usar una rama "nueva" como era el firebird 2 (o no se si en el 2004-2005 ya había salido).

Lo de que el IBDataSet sea incompatible, me resulta extraño, dado que siempre lo usé con Firebird y sin problemas de ningún tipo, y si lo tenemos funcionando sobre un Win 2003 es por decisión administrativa.

Ahora es cuando comenzamos a mirar como migrar el asunto para tener el mejor rendimiento.

PD: Si mis dudas son tan vagas, es porque llevo mas de un año sin tocar Delphi, no porque no sepa programar.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0

Última edición por papulo fecha: 03-09-2008 a las 18:56:52.
Responder Con Cita
  #20  
Antiguo 03-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 26
Delphius Va camino a la fama
Cita:
Empezado por donald shimoda Ver Mensaje
No uso ese componente, y si vas a usar firebird los componentes de delphi tienen problemas. Pero bueno, como me imagino que a estas alturas cualquier recomendación es inútil, dado que lo que quieres es solo echar a andar la cosa, dejame revisar...

Confirmado y probado.
Con las versiones 2.x puede ser, pero al menos yo con la versión 1.5.3 no he tenido problemas hasta el momento.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Actualizar BBDD en el servidor de trabajo delphijm SQL 1 07-06-2008 03:14:08
Actualizar Servidor FTP jocey Internet 0 06-02-2008 18:47:45
Problema Para Actualizar Un Registro sdiaz1983 Conexión con bases de datos 3 21-01-2008 05:00:10
Problema:Cliente/Servidor.Actualizar clientes automaticamente. aoiTo Conexión con bases de datos 5 04-08-2004 07:02:27
Actualizar BD SQLServer alojada en servidor web con delphi hibero Internet 6 29-11-2003 02:45:26


La franja horaria es GMT +2. Ahora son las 02:01:05.


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