Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2007
Blasito Blasito is offline
Registrado
 
Registrado: feb 2007
Posts: 7
Poder: 0
Blasito Va por buen camino
Unhappy Ejecutar FireBird Multipes Instancias!!!

Cordial Saludo,

He desarrollado un aplicacion en Delphi 2005 con bases de datos de FireBird 1.5, la aplicacion funciona perfectamente en Windows Server 2003 y he creado 2 usuarios que ejecutaran simultaneamente la aplicacion y he instalo Terminal Server para que lo puedan hacer, asi que mi aplicacion sera ejecutada simultaneamente y el FireBird que es mi motor de bases de datos tambien deberia ser cargado simultaneamente.

Cuando el 1er. usuario entra y ejecuta mi aplicacion funciona perfectamente se carga sin errores el FireBird, pero cuando entra el 2do. usuario entra y ejecuta mi aplicacion revienta un error del FireBird diciendo que no puede ser ejecutado en multiples instancias y desde luego mi aplicacion no funciona.

He realizado pruebas y para que el 2do usuario pueda ejecutar mi aplicacion, el 1er. usuario debe salir de mi aplicacion y matar el proceso FBServer.exe y FBGuard.exe (para liberar el FireBird) y asi es la unica forma que el 2do, usuario puede entrar pero entonces ya el 1er. usuario quedo muerto.

He cambido la instalacion del FireBird diciendole que lo carge como Servicio de Windows ó como Aplicacion y sale el mismo error de las multiples instancias, tambien he instalado la nueva version del FireBird 2.0 y lo mismo sale el mismo error.

Asi que necesito saber como puedo quitar este error y hacer que 2 usuarios simultaneamente dentro del mismo Servidor puedan ejecutar mi aplicacion si que este error aparezca.?

Gracias a todos por su pronta respuesta.

Ing. Bladimir Silva T
Adm. Windows Server 2003
Cartago - Valle
Colombia
Responder Con Cita
  #2  
Antiguo 12-02-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Blasito
A mi me parece un problema del servidor y no de la base de datos, me extraña que FireBird no se pueda accesar por vrios usuarios a la vez.
Intenta ver las caracteristicas de los usuarios en el servidor y los permisos.
Me puedo equivocar, pero si access, que es muy basica lo puede hacer, como no lo va a hacer FireBird.
S
Responder Con Cita
  #3  
Antiguo 12-02-2007
Blasito Blasito is offline
Registrado
 
Registrado: feb 2007
Posts: 7
Poder: 0
Blasito Va por buen camino
Cita:
Empezado por Caral
Hola Blasito
A mi me parece un problema del servidor y no de la base de datos, me extraña que FireBird no se pueda accesar por vrios usuarios a la vez.
Intenta ver las caracteristicas de los usuarios en el servidor y los permisos.
Me puedo equivocar, pero si access, que es muy basica lo puede hacer, como no lo va a hacer FireBird.
S
Los 2 usuarios estan como Administradores asi que permisos no debe ser, claro las bases de datos de Firebird soporta multiples usuarios de eso no hay duda y cuando mi aplicacion es accedida desde 2 computadore con XP corre bien y sin problemas.

Pero aqui el caso es que el FireBird no puede ser cargado 2 veces en el mismo computador o sea en 2 instancias parace ser que solo soporta 1 sola instancia.

Blasito.
Responder Con Cita
  #4  
Antiguo 12-02-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ya en ese tema desconozco, tendria que verificar si sucede lo mismo con otras base de datos como mysql, lo que si se es que en access no hay ese problema e insisto no deberia suceder en FireBird, colocar varias bases de datos en un mismo ordenador, no se para que sinceramente.
Saludos
Responder Con Cita
  #5  
Antiguo 12-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo no es que sepa mucho del tema, pero, el problema no debe ser que Firebird no sea capaz de ejecutar dos instancias, sino que con una instancia debería ser suficiente. De ahí el problema si tratan de ejecutarse dos instancias. Esto debe tener que ver con el concepto Cliente/Servidor. Puede haber varios Clientes trabajando codo a codo con un solo Servidor.

Así que habría que ver cómo organizas el asunto. Por ejemplo, no creo que sea cuestión de que cada Cliente trate de levantar una instancia del Servidor, sino de que cada Cliente compruebe si una instancia del Servidor está disponible, y, en caso de que lo esté, interactuar con ella sin tratar de ejecutar otra instancia del Servidor.

¿Qué haces al comienzo de la ejecución de dichas aplicaciones? ¿Tratas de levantar sí o sí una instancia del Servidor de Firebird? Porque de ser así ya sabes lo que ocurre: a la que trates de levantar una segunda instancia (y una tercera, una cuarta, etc.) no podrás hacerlo. Pero vamos, me voy a callar porque tampoco aporto ninguna solución concreta al asunto.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 12-02-2007
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.030
Poder: 22
keys Va por buen camino
Yo tengo un programa con firebird funcionando en terminal server, y lo que hago es que este se conecte como si fuera un cliente mas. Es decir como si la base de datos estaria en otro equipo.

Un Saludo. Espero que te sirva de algo.
Responder Con Cita
  #7  
Antiguo 12-02-2007
Blasito Blasito is offline
Registrado
 
Registrado: feb 2007
Posts: 7
Poder: 0
Blasito Va por buen camino
Cita:
Empezado por dec
Hola,

Yo no es que sepa mucho del tema, pero, el problema no debe ser que Firebird no sea capaz de ejecutar dos instancias, sino que con una instancia debería ser suficiente. De ahí el problema si tratan de ejecutarse dos instancias. Esto debe tener que ver con el concepto Cliente/Servidor. Puede haber varios Clientes trabajando codo a codo con un solo Servidor.

Así que habría que ver cómo organizas el asunto. Por ejemplo, no creo que sea cuestión de que cada Cliente trate de levantar una instancia del Servidor, sino de que cada Cliente compruebe si una instancia del Servidor está disponible, y, en caso de que lo esté, interactuar con ella sin tratar de ejecutar otra instancia del Servidor.

¿Qué haces al comienzo de la ejecución de dichas aplicaciones? ¿Tratas de levantar sí o sí una instancia del Servidor de Firebird? Porque de ser así ya sabes lo que ocurre: a la que trates de levantar una segunda instancia (y una tercera, una cuarta, etc.) no podrás hacerlo. Pero vamos, me voy a callar porque tampoco aporto ninguna solución concreta al asunto.
Hola David

Yo pienso que al igual que SQL server de Micro$oft con lo que ya he probado varias aplicaciones y funcionan muy bien en Terminal Server el FireBird debe cargarse como un servicio y que las aplicaciones accedan a este sin volver a cargarlo ó subir el servicio.

Hablare entonces con el programador para ver que hace el para verificar si el servicio del FireBird esta arriba o no y para decirle que cambie la forma de programar la conexion con los datos, tocara hacer ensayos y ver que pasa, de todas formas Ustedes como programadores de Delphi deberian pensar en que sus aplicaciones puedan ser ejecutadas desde Terminal Server, bueno se van a encontrar justo con este problema.

Gracias a todos entonces por sus sugerencias y si alguien tiene algo que agregar que por favor lo haga.

Ing. Bladimir Silva T.
Adm. Windows Server 2003
Colombia.
Responder Con Cita
  #8  
Antiguo 12-02-2007
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tengo clientes (la empresa donde trabajo) que desde las distintas sucursales trabajan en tiempo real en la central.
En algunos casos acceden a través del Terminal Server de windows y en otros con el de Linux. En ambos casos no hay problemas para trabajar múltiples usuarios al mismo tiempo y, por supuesto, sólo hay un firebird funcionando en el servidor.
El caso "típico" son varias sucursales, cada una con varios terminales, que acceden a uno o varios servidores de programas y desde estos servidores (donde están los programas en Delphi) se conectan a uno o varios servidores Linux (donde están las bases de datos y Firebird).
Cada sucursal accede por una línea adsl distinta para que no exista saturación en las líneas y para que en caso de caída de alguna (cada una es de distinta empresa) pueda seguir funcionando con el resto.
Firebird, en el servidor, siempre es sólo UNO, como Dios y él se encarga de aceptar todas las peticiones, procesarlas y devolver las respuestas.
Responder Con Cita
  #9  
Antiguo 13-02-2007
Blasito Blasito is offline
Registrado
 
Registrado: feb 2007
Posts: 7
Poder: 0
Blasito Va por buen camino
Listo Señores, muchas gracias por toda la informacion y experiencias que me han regalado, creo que mi problema es netamente del programador que no penso en Cliente/Servidor y de alli nace el error de las multiples instancias el FireBird.

Gracias a todos los que han ayudado.

Ing. Bladimir Silva T.
Adm. Windows Server 2003
Cartago-Valle
Colombia
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
Instancias de SQLServer HombreSigma MS SQL Server 3 25-04-2005 23:11:43
Multiples instancias Phacko Varios 1 07-09-2004 15:40:25
instancias abiertas muli Firebird e Interbase 0 07-07-2004 19:48:23
error al ejecutar dos instancias maruenda Conexión con bases de datos 3 17-02-2004 03:16:12
instancias botones67 Varios 1 22-08-2003 19:06:11


La franja horaria es GMT +2. Ahora son las 02:51:44.


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