Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema para actualizar el servidor (https://www.clubdelphi.com/foros/showthread.php?t=59641)

papulo 03-09-2008 08:56:35

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

Casimiro Notevi 03-09-2008 09:50:52

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 :(

papulo 03-09-2008 10:39:59

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".

tefots 03-09-2008 13:11:35

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 (Mensaje 311385)
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".


papulo 03-09-2008 14:51:39

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!

donald shimoda 03-09-2008 15:27:23

Cita:

Empezado por papulo (Mensaje 311435)
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.

papulo 03-09-2008 15:40:21

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.

roman 03-09-2008 15:40:38

Cita:

Empezado por donald shimoda (Mensaje 311459)
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

donald shimoda 03-09-2008 15:56:27

Cita:

Empezado por roman (Mensaje 311473)
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 :rolleyes:. Espero que no sea la real.

Saludos.

donald shimoda 03-09-2008 15:59:31

Cita:

Empezado por papulo (Mensaje 311471)
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.

papulo 03-09-2008 16:15:16

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?

egostar 03-09-2008 16:18:57

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

papulo 03-09-2008 16:22:11

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.

donald shimoda 03-09-2008 16:22:25

Cita:

Empezado por papulo (Mensaje 311485)
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 03-09-2008 16:26:08

Cita:

Empezado por egostar (Mensaje 311488)
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

egostar 03-09-2008 16:34:23

Cita:

Empezado por papulo (Mensaje 311485)
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

papulo 03-09-2008 16:55:30

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.

donald shimoda 03-09-2008 17:00:17

Cita:

Empezado por papulo (Mensaje 311516)
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.

papulo 03-09-2008 17:42:18

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 (Mensaje 311519)
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.

Delphius 03-09-2008 17:50:17

Cita:

Empezado por donald shimoda (Mensaje 311490)
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,

egostar 03-09-2008 18:23:12

Cita:

Empezado por donald shimoda (Mensaje 311490)
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

donald shimoda 03-09-2008 18:36:44

Cita:

Empezado por egostar (Mensaje 311541)
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 (Mensaje 311541)

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 (Mensaje 311541)
¿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 (Mensaje 311541)
¿Que componentes son los que tú consideras los mejores?

Pagos: Anydac, FIB+, IBO, en ese orden
OS : Zeos.

Saludos.

maeyanes 03-09-2008 18:38:22

Cita:

Empezado por donald shimoda (Mensaje 311490)
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...

Casimiro Notevi 03-09-2008 18:43:41

Cita:

Empezado por Delphius (Mensaje 311536)
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,


Puedo confirmar que con la versión 1.5 funciona correctamente. Aunque los FIBplus son una maravilla :)

donald shimoda 03-09-2008 18:47:07

Cita:

Empezado por Casimiro Notevi (Mensaje 311549)
Puedo confirmar que con la versión 1.5 funciona correctamente. Aunque los FIBplus son una maravilla :)

Amigo, como comento, a simple vista funcionan de maravilla. Si le cuelgas a tu aplicación un gestor de memoria que analice que sucede detrás de bambalinas luego me cuentas.;)

Saludos.

egostar 03-09-2008 18:49:22

Hola,

Sigo con dudas, perdon.

Cita:

Empezado por donald shimoda (Mensaje 311545)
Los componentes de Interbase NUNCA TUVIERON soporte para Firebird, nunca lo tuvieron, desde la hora cero de salir a la luz.

A que le llamas SOPORTE, no entiendo bien eso.

Cita:

Empezado por donald shimoda (Mensaje 311545)
Incompatibilidad en tipos de datos, inconsistencia en el manejo de transacciones, uso excesivo de memoria con datasets extensos, etc, etc.

¿Que incompatibilidad?, hasta el momento ningún campo que he usado en mis bases de datos me dicen que no es compatible con algo, ¿podrías ser mas específico?

¿Que cantidad consideras que sea extenso para un dataset?

Cita:

Empezado por donald shimoda (Mensaje 311545)
Los que viene con delphi que NO SOPORTAN firebird (ibx, etc) si tienen problemas.

¿Los mismos problemas que mencionas arriba?
¿porque dices que no soportan, aun no me queda claro?

Cita:

Empezado por donald shimoda (Mensaje 311545)
Pagos: Anydac, FIB+, IBO, en ese orden
OS : Zeos.

Gracias, leere al respecto.

Salud OS

donald shimoda 03-09-2008 19:04:25

Cita:

Empezado por egostar (Mensaje 311553)
Hola,

A que le llamas SOPORTE, no entiendo bien eso.

Que no tiene soporte significa que :
a) El desarrollador no ha probado los componentes con la base en cuestión, significa que cuando desarrolla NUNCA tiene en cuenta funcionalidades o ventajas que poseen las versiones en cuestión (en este caso de firebird) y que por lo tanto las operaciones internas para realizar una determina operación puede estar diseñada de manera incorrecta, y por tanto llegar a un resultado indeseado.
b) Siginifica ademas que nadie en Embarcadero, codegear, Borland, lo que sea te contestara jamas una duda respecto a ese componente, ni aceptara un solo bug report donde menciones que usas firebird, porque justamente no esta soportado.
c) El principal desarrollador (único?) de ibx se llama jeff overcash y las veces que probe IBX y tuve inconvenientes con Firebird ( en sus versiones originales) me dijo muy claramente que NUNCA IBX soportaria Firebird.

Ahora, mis amigos, existiendo tantas versiones libres y algunas pagas, porque alguien se obnstinaria en usar algo no soportado, que como les cuento por experiencia propia tiene problemas de todo tipo (no me pidan un reporte completo, cuando probe y luche con estos componentes fue por delphi 7 si mal no recuerdo). No tiene sentido.

Y justamente si tu rubro es la pequeña empresa estas escaso de desarrolladores, que mejor que usar algo que sabes que funciona o que al menos tiene soporte casi inmediato de gente que esta en la misma lucha que vos? Hablo de open source, por si acaso.

Cita:

Empezado por egostar (Mensaje 311553)
¿Que incompatibilidad?, hasta el momento ningún campo que he usado en mis bases de datos me dicen que no es compatible con algo, ¿podrías ser mas específico?

Sinceramente no puedo ser más específico, no lo tomes a mal. Estoy dando un concejo, no es mi idea hacer un ensayo sobre el tema, no tengo el tiempo, ni tiene sentido hacerlo. Internet en su sabiduria puede contestar todas estas preguntas. Busca en los foros de borland y tendras las respuestas del caso.
Si a ti te funciona, me alegro mucho. Solo no digas que no te avise.;)

Cita:

Empezado por egostar (Mensaje 311553)
Gracias, leere al respecto.

Bien!;)

roman 03-09-2008 19:16:00

Cita:

Empezado por donald shimoda (Mensaje 311562)
Sinceramente no puedo ser más específico, no lo tomes a mal. Estoy dando un concejo, no es mi idea hacer un ensayo sobre el tema, no tengo el tiempo, ni tiene sentido hacerlo. Internet en su sabiduria puede contestar todas estas preguntas. Busca en los foros de borland y tendras las respuestas del caso.

Bueno, creo que nadie pide un reporte completo. Un ejemplo de un campo en el cuál haya incompatibilidad sería suficiente.

// Saludos

donald shimoda 03-09-2008 19:22:41

Cita:

Empezado por roman (Mensaje 311565)
Bueno, creo que nadie pide un reporte completo. Un ejemplo de un campo en el cuál haya incompatibilidad sería suficiente.

// Saludos

Roman, como comente lo use hace años, antes de decidir cambiar por componentes que si tengan soporte sobre firebird.
No doy el ejemplo porque no recuerdo el campo exacto. Pero si van a google y buscan foros de borland + firebird encuentran de lo que hablo.

Como lo probe hace años y YA en ese momento tenia problemas, aun cuando firebird era CASI igual a interbase 6.0, imagino que ahora que ambos tomaron por rumbos muy diferentes se agravo el tema.

Saludos.

egostar 03-09-2008 19:24:38

Cita:

Empezado por donald shimoda (Mensaje 311562)
Que no tiene soporte significa que :
a) El desarrollador no ha probado los componentes con la base en cuestión, significa que cuando desarrolla NUNCA tiene en cuenta funcionalidades o ventajas que poseen las versiones en cuestión (en este caso de firebird) y que por lo tanto las operaciones internas para realizar una determina operación puede estar diseñada de manera incorrecta, y por tanto llegar a un resultado indeseado.
b) Siginifica ademas que nadie en Embarcadero, codegear, Borland, lo que sea te contestara jamas una duda respecto a ese componente, ni aceptara un solo bug report donde menciones que usas firebird, porque justamente no esta soportado.
c) El principal desarrollador (único?) de ibx se llama jeff overcash y las veces que probe IBX y tuve inconvenientes con Firebird ( en sus versiones originales) me dijo muy claramente que NUNCA IBX soportaria Firebird.

Ya entiendo.

Cita:

Empezado por donald shimoda (Mensaje 311562)
Ahora, mis amigos, existiendo tantas versiones libres y algunas pagas, porque alguien se obnstinaria en usar algo no soportado, que como les cuento por experiencia propia tiene problemas de todo tipo (no me pidan un reporte completo, cuando probe y luche con estos componentes fue por delphi 7 si mal no recuerdo). No tiene sentido.

Y justamente si tu rubro es la pequeña empresa estas escaso de desarrolladores, que mejor que usar algo que sabes que funciona o que al menos tiene soporte casi inmediato de gente que esta en la misma lucha que vos? Hablo de open source, por si acaso.

Justamente por eso mis dudas, como te dije al principio, en esto de bases de datos soy novato y claro que las opiniones las tomo en cuenta.

Cita:

Empezado por donald shimoda (Mensaje 311562)
Sinceramente no puedo ser más específico, no lo tomes a mal. Estoy dando un concejo, no es mi idea hacer un ensayo sobre el tema, no tengo el tiempo, ni tiene sentido hacerlo. Internet en su sabiduria puede contestar todas estas preguntas. Busca en los foros de borland y tendras las respuestas del caso.

Vamos, porque habría de tomarlo a mal, lo interesante de este ejercicio es conocer mas sobre las vivencias de los demás y aprender de ello, no todo en la vida es desvirtuar :D

Cita:

Empezado por donald shimoda (Mensaje 311562)
Si a ti te funciona, me alegro mucho. Solo no digas que no te avise.;)

Gracias, avisado me considero :)

Salud OS

TOPX 03-09-2008 19:26:55

Saludos,

De mi parte, siendo consciente que el autor de los IBX nunca consideró dar compatibilidad con FB, los he utilizado durante años con las versiones 1.x y 2.x sin problema alguno de soporte al motor ni de rendimiento.

Lo más terrible de esta "separación", que haya podido darme cuenta que pueda afectar a un desarrollo, es que con los IBX no se pueden especificar constantes TPB propias de FB como isc_tpb_lock_timeout; pero me consideraría pésimo desarrollador si no puedo vivir con ello.

Y me uno a Casimiro con que, los FIBPlus son una maravilla... así que, cuando tenga que cambiar los IBX, lo haría por ellos.

donald shimoda 03-09-2008 19:29:18

Cita:

Empezado por egostar (Mensaje 311568)
Vamos, porque habría de tomarlo a mal, lo interesante de este ejercicio es conocer mas sobre las vivencias de los demás y aprender de ello, no todo en la vida es desvirtuar :D

Gracias por entender.

Saludos

donald shimoda 03-09-2008 19:33:17

Cita:

Empezado por TOPX (Mensaje 311570)
Y me uno a Casimiro con que, los FIBPlus son una maravilla... así que, cuando tenga que cambiar los IBX, lo haría por ellos.

Como detalle adicional por si alguien no sabia tanto FIB+ como IBX descienden del mismo conjunto de componentes , cuya licencia es de código abierto. Por mas que hago memoria no recuerdo el nombre. :(

Saludos.

TOPX 03-09-2008 19:46:05

Cita:

Empezado por donald shimoda (Mensaje 311573)
[sic] descienden del mismo conjunto de componentes [sic]

Sí, los FreeIB.

Eso no puede ser tan malo, ¿o sí? Pues, es de esperar que no cometan los errores de su antecesor.

donald shimoda 03-09-2008 19:49:06

Cita:

Empezado por TOPX (Mensaje 311578)
Sí, los FreeIB.

Eso no puede ser tan malo, ¿o sí? Pues, es de esperar que no cometan los errores de su antecesor.

Amigo, en mi humilde opinión ni es bueno ni es malo. Siendo que tanto interbase como firebird han cambiado tanto, imagino que el código de IBX and FIB+ debe ser muy distinto al de los FreeIB.

Saludos.

Delphius 03-09-2008 19:54:51

Yo la verdad no se que tantos inconvenientes tenga. Hasta el momento no he tenido. Uso D6, con IBX y Firebird 1.5.3 sin problemas.

La mayor prueba que he realizado hasta el momento fue en una conexión red entre mi equipo y el de mi hermana. Mi PC no es demasiada potente que digamos: AMD Duron 1,16 Ghz con 512 de RAM, Windows XP y la de mi hermana es la segunda peor pesadilla que uno puede esperar: Pentium 333 Mhz con 128 RAM, Windows XP. (La primera peor pesadilla es 64 RAM y Windows Me:D).
Puse a ejecutar el sistema cliente de prueba en el equipo de mi hermana y se comportó bastante bien. No me esperé que actuara tan rápido (en comparación con lo aceptable para lo que es la máquina) y que se moviera por los registros sin dificultad.

Admito que en esa prueba no añadí campos BLOB. Tal vez allí si se note.

¿Donde está el problema de memoria?
No he tenido problemas con los tipos de campos. Salvo en una ocasión que no supe tratar con BLOB, y que gracias a una búsqueda y una consultas aprendí.

Fuera de ello, sin problemas.
Tal vez oficialmente no se reconozca que IBX tenga cierta compatibilidad con Firebird 1.5 (no me animo a decir con 2.x puesto que no lo probé), pero de que puede usarse se puede.

Donald, no es por atacar... solo expongo la poca experiencia que tengo en esto y la verdad es que no veo porqué alarmarse demasiado.
Se que existen componentes de terceros, tanto los gratuitos con de pago, diseñados y mejor adaptados para Firebird. Firebird nació de Interbase, y en la versión 1.5, según tengo entendido, tiene cierto grado de compatibilidad. Y para mi me ha resultado bastante cómodo.

Saludos,

roman 03-09-2008 20:02:21

Bueno, yo creo que en resumen, la mejor opción siempre será la de utilizar componentes que hayan sido diseñados ex profeso, tal como dice Donald, pero que el uso de IBX no traerá mayores problemas, sobre todo en las versiones de FireBird más "cercanas" a IB.

// Saludos

Casimiro Notevi 03-09-2008 22:51:02

Gregory Deatz escribió FreeIBcomponents (licencia open source) para acceder a interbase. Cuando Borland buscó unos componentes para Delphi llegó a un acuerdo con Deatz y los renombró IBX (Interbase Express) y también son open source porque legalmente la licencia GPL obliga a ello.
A partir de FreeIBcomponents surgieron otras como FIBplus, MDO (Mercury Database Objects), etc y todas son open source porque provienen de unos componentes GPL. Aunque las FIBplus han cambiado a un tipo de licencia "extraño" y no entregan todas las fuentes a no ser que pagues, y eso CREO que es ilegal, no pueden hacerlo, aunque es otro asunto que no viene al caso).

Las IBX han evolucionado para acceder a Interbase porque pertenecen a la misma empresa (Borland, Inprise, Codegear, Embarcadero) y no podía ser de otra forma.
Evidentemente no se han preocupado de "afinar" IBX para Firebird porque es la competencia.
Aunque, como todos sabemos, Firebird empezó cuando Borland liberó con licencia MPL (open source) a Interbase 6. Luego volvieron a cambiar las siguientes versiones a una licencia privativa y cerrada, pero la versión 6 quedó abierta y libre debido a la licencia escogida.
A partir de ahí FIBplus, MDO y otras fueron adaptándose sobre todo a Firebird porque es libre y se puede acceder a su código. Y, naturalmente, IBX fue afinándose para Interbase.
Con el tiempo, Interbase y Firebird han ido añadiendo pequeños cambios, poco a poco, que los ha ido separando, aunque en el fondo son muy parecidos.
Igual ha ocurrido con IBX y FIBplus (y el resto). Así que hoy en día FIBplus está muy optimizada para Firebird y IBX lo está para Interbase.
Pero, repito, en lo fundamental funcionan ambos correctamente.

En mi trabajo tenemos un programa de gestión comercial que se inició con Interbase 6 y las IBX (1999), actualmente sigue con las IBX aunque cambiamos a Firebird cuando salió la versión 1.0 (básicamente era lo mismo que Interbase 6.0).
Las bases de datos de nuestros clientes son de varios gigas en su mayoría y algunos sobrepasan con crecen los 10 gigas, sin problema alguno, todas con Firebird 1.5 y el resto de programas que hemos hecho después están con FIBplus y, la verdad, es que se nota la diferencia, se "sienten" más optimizados para Firebird y no corren, vuelan.

Por supuesto que las IBX serán cada vez menos recomendables para Firebird.

Las "incompatibilidades" , "desarreglos", "desafinamientos" de IBX con Firebird se notan a veces en algunos procesos "pesados" a los que hay ajustar mucho, hacer muchas pruebas, hasta dejarlos optimizados para que vayan bien. Sin embargo, esos casos, con FIBplus no suelen aparecer porque está más optimizado con Firebird.

Pero, ciertamente, nos hemos encontrado con problemas, sobre todo, de mal manejo de la memoria por parte de IBX con Firebird en algunas situaciones muy, muy especiales y anormales trabajando con varias bases de datos al mismo tiempo y moviendo decenas de millones de registros entre ellas con sentencias muy enrevesadas.
Pero en "la vida normal" no hay problema con ellos.

Espero que a alguien le sirva mis comentarios.

donald shimoda 03-09-2008 23:08:49

Cita:

Empezado por Casimiro Notevi (Mensaje 311631)

Espero que a alguien le sirva mis comentarios.

Excelente informe! Gracias.

egostar 03-09-2008 23:13:58

Cita:

Empezado por Casimiro Notevi (Mensaje 311631)
Gregory Deatz escribió FreeIBcomponents (licencia open source) para acceder a interbase. Cuando Borland buscó unos componentes para Delphi llegó a un acuerdo con Deatz y los renombró IBX (Interbase Express) y también son open source porque legalmente la licencia GPL obliga a ello.
A partir de FreeIBcomponents surgieron otras como FIBplus, MDO (Mercury Database Objects), etc y todas son open source porque provienen de unos componentes GPL. Aunque las FIBplus han cambiado a un tipo de licencia "extraño" y no entregan todas las fuentes a no ser que pagues, y eso CREO que es ilegal, no pueden hacerlo, aunque es otro asunto que no viene al caso).

Las IBX han evolucionado para acceder a Interbase porque pertenecen a la misma empresa (Borland, Inprise, Codegear, Embarcadero) y no podía ser de otra forma.
Evidentemente no se han preocupado de "afinar" IBX para Firebird porque es la competencia.
Aunque, como todos sabemos, Firebird empezó cuando Borland liberó con licencia MPL (open source) a Interbase 6. Luego volvieron a cambiar las siguientes versiones a una licencia privativa y cerrada, pero la versión 6 quedó abierta y libre debido a la licencia escogida.
A partir de ahí FIBplus, MDO y otras fueron adaptándose sobre todo a Firebird porque es libre y se puede acceder a su código. Y, naturalmente, IBX fue afinándose para Interbase.
Con el tiempo, Interbase y Firebird han ido añadiendo pequeños cambios, poco a poco, que los ha ido separando, aunque en el fondo son muy parecidos.
Igual ha ocurrido con IBX y FIBplus (y el resto). Así que hoy en día FIBplus está muy optimizada para Firebird y IBX lo está para Interbase.
Pero, repito, en lo fundamental funcionan ambos correctamente.

En mi trabajo tenemos un programa de gestión comercial que se inició con Interbase 6 y las IBX (1999), actualmente sigue con las IBX aunque cambiamos a Firebird cuando salió la versión 1.0 (básicamente era lo mismo que Interbase 6.0).
Las bases de datos de nuestros clientes son de varios gigas en su mayoría y algunos sobrepasan con crecen los 10 gigas, sin problema alguno, todas con Firebird 1.5 y el resto de programas que hemos hecho después están con FIBplus y, la verdad, es que se nota la diferencia, se "sienten" más optimizados para Firebird y no corren, vuelan.

Por supuesto que las IBX serán cada vez menos recomendables para Firebird.

Las "incompatibilidades" , "desarreglos", "desafinamientos" de IBX con Firebird se notan a veces en algunos procesos "pesados" a los que hay ajustar mucho, hacer muchas pruebas, hasta dejarlos optimizados para que vayan bien. Sin embargo, esos casos, con FIBplus no suelen aparecer porque está más optimizado con Firebird.

Pero, ciertamente, nos hemos encontrado con problemas, sobre todo, de mal manejo de la memoria por parte de IBX con Firebird en algunas situaciones muy, muy especiales y anormales trabajando con varias bases de datos al mismo tiempo y moviendo decenas de millones de registros entre ellas con sentencias muy enrevesadas.
Pero en "la vida normal" no hay problema con ellos.

Espero que a alguien le sirva mis comentarios.

Gracias amigo Casimiro

esta información no tiene desperdicio.

Salud OS


La franja horaria es GMT +2. Ahora son las 23:44:17.

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