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)
-   -   Varios Firebird (https://www.clubdelphi.com/foros/showthread.php?t=81016)

trex2000 02-10-2012 22:11:31

Varios Firebird
 
Saludos a todos.

Mi duda es como puedo varios versiones de Firebird al mismo tiempo en la misma pc o servidor?

Las versiones que necesito que funcionen juntas son la 1.5, 2.0 y la 2.5?

Se podra tener varias instancias corriendo al mismo tiempo?

De antemano muchas gracias.

Espero haberme explicado.

Casimiro Notevi 02-10-2012 22:28:20

No se puede porque tienen el mismo nombre.

maeyanes 02-10-2012 22:47:05

Hola...

Aparte que, de forma predeterminada, todas usan el mismo puerto.


Saludos...

Delphius 03-10-2012 00:37:52

Cita:

Empezado por Casimiro Notevi (Mensaje 446108)
No se puede porque tienen el mismo nombre.

Tengo entendido que debería ser posible tener varias instancias ejecutando amigo.
La versión 1.5 no sólo era de transición hacia la 2.0 sino que además, la idea era preparar el trabajo para el soporte de múltiples instancias... si bien era algo elemental y básico en la 1.5 se esperaba que a partir de la 2.o el soporte fuera entero.
Yo nunca he probado esta alternativa pero recuerdo haber leído algo sobre esto.

EDITO:
Ya estuve leyendo y si, la idea era de poder soportar múltiples instancias... y fue algo que se propuso para 1.5.3 pero luego se dio marcha atrás debido a dificultades. Además, haciendo memoria el instalador de Firebird de forma automática comprueba de que no haya una instalación previa de Firebird.

Tienes razón amigo. No se puede. No me hagas caso.

Saludos,

Casimiro Notevi 03-10-2012 00:47:04

Cierto, así es, pero no recuerdo haberlo visto funcionando ni haber leido nada al respecto de que esté disponible.
Se puede indicar en la configuración que use un puerto u otro, eso sí, pero ahora mismo no llego a recordar cómo ejecutar varias instancias del mismo, puesto que tienen el mismo nombre, usan la misma fbclient.dll y no sé cómo diferenciaría desde un programa qué versión de firebird usar (si hay más de uno funcionando).
Lo mismo se puede, pero no recuerdo que se pueda.

Delphius 03-10-2012 00:52:28

Respondiste justo cuando edité mi mensaje. Estuve buscando y al final eso quedó descartado debido a dificultades técnicas. No resultó como se esperaba.
Asi que oficialmente sigues teniendo razón amigo. ;)

Saludos,

Casimiro Notevi 03-10-2012 01:15:16

No me extraña que tuvieran dificultades técnicas. Además de que no le veo mucha utilidad.

mightydragonlor 03-10-2012 02:36:00

La verdad yo tampoco le veo utilidad alguna, puesto de opciones muy específicas en sentencias de cierta versión de Firebird y el servidor de base de datos sea dedicado exclusivamente a servidor de base de datos, valga la redundancia.

Saludos.

Lepe 03-10-2012 09:47:32

Antes de nada, prueba bajar la versión Embeded de Firebid descomprimirlo en la misma carpeta del ejecutable. Mira los manuales que trae. Para (Me refiero a "Stop" xD) el Servicio Firebird en la máquina para asegurar que usa la Embeded.

Eso permitiría ejecutar los programas de 1.5 y 2.0 (con suerte), después instalas 2.5 con soporte para versiones antiguas (última pantalla del asistente de instalación).

Otra forma: instalar máquinas virtuales para cada versión, es un follón, es más no creo que la versión servidora de las 3 versiones vayan a ir bien. Si de alguna forma colisionan, tendrías que poner 3 tarjetas de red, con distintas IP y tal... no sé hasta que punto será viable.

cointec 03-10-2012 15:04:04

Hola, no hay problema en tener activas varias instancias de Firebird en un mismo PC o servidor.
Yo las tengo instaladas en sistemas Windows. En concreto, en mi portátil tengo fb1.03,fb 2.1.4 y fb2.5.2. En el caso de Firebird 2.5, tengo instalada tanto la versión classic/superclassic como la superserver.

Sólo tienes que instalarlas en carpetas distintas de forma manual. Editar el archivo Firebird.conf, cambiar el puerto 3050 a cualquier otro e instalar el servicio de forma manual, asignando a cada instancia un nombre de servicio distinto.

No deberías encontrar ningún problema

Casimiro Notevi 03-10-2012 15:36:14

Cita:

Empezado por cointec (Mensaje 446195)
e instalar el servicio de forma manual, asignando a cada instancia un nombre de servicio distinto.

¿Cómo haces eso?.
Cuando ejecutas un programa que se conecta a una BD ¿cómo le dices a cual debe conectar?
¿Cómo distingues desde un programa qué versión de firebird debe ejecutarse?

maeyanes 03-10-2012 15:42:09

Hola...

Cita:

Empezado por Casimiro Notevi (Mensaje 446199)
¿Cómo haces eso?.
Cuando ejecutas un programa que se conecta a una BD ¿cómo le dices a cual debe conectar?
¿Cómo distingues desde un programa qué versión de firebird debe ejecutarse?

Pues le indicas el puerto del servicio en la cadena de conexión...


Saludos...

Casimiro Notevi 03-10-2012 16:53:56

Sí, esa es la parte fácil :)

Quiero decir: instalo firebird 1.0 y hay un fbserver ejecutándose y un fbguard ejecutándose y una fbclient.dll.
Ahora instalo firebird 1.5... ¿qué haces para que no "choque" con firebid 1.0 teniendo en cuenta que son fbserver, fbguard y fbclient?
Después instalas firebird 2.0... ¿?
Después instalas firebird 2.1... ¿?
Después instalas firebird 2.5... ¿?

maeyanes 03-10-2012 18:19:51

Hola...

Pues me imagino que el problema es por el nombre del servicio, no pueden existir en Windows dos servicios con el mismo nombre, así que cambiando el nombre del servicio y el puerto debes poder hacer que convivan varias versiones de Firebird en la misma PC... ahora, no le veo gran utilidad a eso... :p


Saludos...

Casimiro Notevi 03-10-2012 18:22:25

Vale, le cambias el nombre del servicio. Pero ¿cómo le dices a cada versión de firebird que use uno distinto?, ¿modificas el código fuente?, ¿es configurable?

maeyanes 03-10-2012 18:28:34

Hola...

Según cointec si, vía el archivo Firebird.conf...


Saludos...

mightydragonlor 03-10-2012 18:40:26

Según leo, al ser servidor, las librerías que usa, serían las del Bin, si te conectas como cliente en el servidor, supongo que usa la úktima libreria instalada del fbClient.

maeyanes 03-10-2012 18:41:49

Investigando un poco, parece ser que esto solo se puede hacer con Firebird a partir de la versión 2.1...

Running several Firebird Instances per Server Machine


Saludos...

Casimiro Notevi 03-10-2012 18:43:41

Pues me parece que no es posible, no he visto nada en la configuración que lo permita, salvo "lo de siempre":

Cita:

# ----------------------------
# TCP Protocol Settings
#
# The TCP Service name/Port number to be used for client database
# connections.
#
# It is only necessary to change one of the entries, not both. The
# order of precendence is the 'RemoteServiceName' (if an entry is
# found in the 'services.' file) then the 'RemoteServicePort'.
#
# Type: string, integer
#
#RemoteServiceName = gds_db
#RemoteServicePort = 3050

Casimiro Notevi 03-10-2012 18:49:59

Pues está complicado, por lo visto dice que se podría hacer pero ejecutando como "Aplicación", no como "Servicio".
En fin, de todas formas, no veo utilidad a ese montaje como para complicarse tanto la vida :)


La franja horaria es GMT +2. Ahora son las 04:32:57.

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