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 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: 17
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
  #2  
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: 19
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 15:46:53.
Responder Con Cita
  #3  
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: 17
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 16:04:01.
Responder Con Cita
  #4  
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: 19
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
  #5  
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: 17
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
  #6  
Antiguo 03-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar 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.
Hola

Yo no soy muy ducho con esto de las bases de datos dado que mis aplicaciones no habian requerido de una base de datos, ahora que comienzo estoy usando Firebird, mi segmento de mercado esta en Windows y uso los componente Interbase para conectarme a Firebird.

He escuchado que algún dia los IBX ya no tendrán soporte a Firebird, pero de eso a que tengan muchos problemas es diferente, hasta el momento no he tenido problema alguno, claro que mis aplicaciones no son de gran escala, yo me manejo en digamos "el mercado olvidado" que es la pequeña empresa.

Mi dudas puntuales son:

¿Que problemas tienen los componentes de Delphi?
¿Todos los de conexion a base de datos tienen problemas?
¿Que componentes son los que tú consideras los mejores?

Perdon, pero son novato en esto de las bases de datos y quisiera saber mas al respecto.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
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: 17
donald shimoda Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
He escuchado que algún dia los IBX ya no tendrán soporte a Firebird, pero de eso a que tengan muchos problemas es diferente, hasta el momento no he tenido problema alguno, claro que mis aplicaciones no son de gran escala, yo me manejo en digamos "el mercado olvidado" que es la pequeña empresa.
Los componentes de Interbase NUNCA TUVIERON soporte para Firebird, nunca lo tuvieron, desde la hora cero de salir a la luz.

Cita:
Empezado por egostar Ver Mensaje

Mi dudas puntuales son:

¿Que problemas tienen los componentes de Delphi?
Incompatibilidad en tipos de datos, inconsistencia en el manejo de transacciones, uso excesivo de memoria con datasets extensos, etc, etc.

Cita:
Empezado por egostar Ver Mensaje
¿Todos los de conexion a base de datos tienen problemas?
Los que viene con delphi que NO SOPORTAN firebird (ibx, etc) si tienen problemas.

Cita:
Empezado por egostar Ver Mensaje
¿Que componentes son los que tú consideras los mejores?
Pagos: Anydac, FIB+, IBO, en ese orden
OS : Zeos.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #8  
Antiguo 03-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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.
Y bueno, si usas sentencias SQL estándar y nada que sea propio de Firebird 2.x, los IBX no deben darte problemas...

Yo ahora uso los Unified Interbase...


Saludos...
Responder Con Cita
  #9  
Antiguo 03-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
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
  #10  
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: 19
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
  #11  
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: 17
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
  #12  
Antiguo 03-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
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: 19
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: 17
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
  #15  
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
  #16  
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: 17
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
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 02:14:08
Actualizar Servidor FTP jocey Internet 0 06-02-2008 17:47:45
Problema Para Actualizar Un Registro sdiaz1983 Conexión con bases de datos 3 21-01-2008 04:00:10
Problema:Cliente/Servidor.Actualizar clientes automaticamente. aoiTo Conexión con bases de datos 5 04-08-2004 06:02:27
Actualizar BD SQLServer alojada en servidor web con delphi hibero Internet 6 29-11-2003 01:45:26


La franja horaria es GMT +2. Ahora son las 16:14:46.


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