![]() |
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. |
No se puede porque tienen el mismo nombre.
|
Hola...
Aparte que, de forma predeterminada, todas usan el mismo puerto. Saludos... |
Cita:
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, |
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. |
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, |
No me extraña que tuvieran dificultades técnicas. Además de que no le veo mucha utilidad.
|
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. |
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. |
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 |
Cita:
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? |
Hola...
Cita:
Saludos... |
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... ¿? |
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... |
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?
|
Hola...
Según cointec si, vía el archivo Firebird.conf... Saludos... |
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.
|
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... |
Pues me parece que no es posible, no he visto nada en la configuración que lo permita, salvo "lo de siempre":
Cita:
|
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 :) |
Lo mismo pienso, no le veo utilidad a hacer algo así...
Saludos... |
Hola,
En windows es distinto el nombre del ejecutable al nombre de servicio. En la carpeta bin de Firebird, hay varios archivos por lotest (install_super.bat etc), que admiten un parámetro que es el nombre del servicio. Si no pones nada lo crea como defaultinstance, pero si ejecutas el bat con una cadena como parámetro, te cambia el nombre del servicio por el que quieras, añadiendo a FirebrdServer el parámetro del bat. Por ejemplo si ejecutas en firebird 2.5 "Install_super.bat Firebird25SS", crea el servicio FirebirdServerFirebird25SS. Esto se soporta desde la versión 2.0 de firebird, por lo que la 1.0, la tengo instalada en el puerto 3050 y con la instalación por defecto. ¿Para que sirve tener varias versiones de Firebird instaladas? Tengo clientes con versiones distintas. Hay que probar scripts en distintas versiones para ver su compatibilidad y comprobar que funcionan correctamente. ¿Porque tengo de una misma versión instalada la versión Classic o Superclassic y Superserver? Para lo mismo, hay veces que hay que hacer tests de pruebas de rendimiento y comparar ambas versiones. Otra utilidad puede ser tener distribuidas bases de datos con motores y que no afecte pruebas que se esten realizando. Por ejemplo, imaginamos el caso de un servidor, donde quieres tener un motor para hacer pruebas y otro que es el que se utiliza para el entorno de producción y no quieres que uno afecte al otro. Hay veces que contamos con servidores de pre-producción, pero otras veces el servidor de pre-producción y producción son el mismo, por lo que teniendo dos motores dan seguridad cuando se quieren hacer pruebas sin interferir en producción. Por supuesto, no tengo todas las instancias activas en mi portatil, las que no suelo utilizar tienen un inicio manual de servicio. |
Estupendo que se pueda hacer y que te sirva esa opción.
Aunque personalmente no me sirve para nada, todos los sistemas que instalo son linux con la versión classic (ahora superclassic). |
Cita:
|
Pero entonces como podria hacerle para no tener que instalar y desinstalar siempre los firebird que necesite cada programa, una manera rapida y sencilla.
Ya probe las posibles soluciones que me dieron pero no me funcionaron :confused: De antemano muchas gracias. |
Que es lo que no te funciona? Bueno antes de nada des instala lo que tengas instalado y prueba los siguientes pasos, son muy simples. No utilices los instaladores, descarga las versiones en formato zip.
Descomprime en dos carpetas distintas dos versiones de firebird, por ejemplo en c:/firebird/firebird2_1/ la versión firebird 2.1.5 y en c:/firebird/firebird_2_5/ la version 2.5.2. Edita el archivo de firebird.conf de firebird 2.5 y cambia la línea de puerto por defecto de 3050 a 3051, quitando el carácter inicial #. Ejecuta dentro de la carpeta "bin" de firebird 2.1 "install_super.bat fb21". Ejecuta dentro de la carpeta "bin" de firebird 2.5 "install_super.bat fb25". Copia una base de datos de firebird 2.1 en una carpeta, por ejemplo c:/bd/fb21/database21.fdb Copia una base de datos de firebird 2.5 en una carpeta, por ejemplo c:/bd/fb25/database25.fdb Crea una conexión en la herramienta que utilices,con la siguiente cadena localhost/3050:c:/bd/fb21/database21.fdb y prueba la conexión, debería funcionar. Crea otra conexión en la herramienta que utilices, con la siguiente cadena localhost/3051:c:/bd/fb25/database25.fdb y prueba la conexión, debería funcionar. |
Cita:
|
| La franja horaria es GMT +2. Ahora son las 07:59:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi