Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Conexión con bases de datos
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Conexión con bases de datos

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 12/02/2007
Blasito Blasito is offline
Registrado
 
Join Date: 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
Reply With Quote
  #2  
Old 12/02/2007
Caral's Avatar
[Caral] Caral is offline
Miembro Premium
 
Join Date: Aug 2006
Posts: 7,659
Poder: 28
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
Reply With Quote
  #3  
Old 12/02/2007
Blasito Blasito is offline
Registrado
 
Join Date: Feb 2007
Posts: 7
Poder: 0
Blasito Va por buen camino
Quote:
Originally Posted by 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.
Reply With Quote
  #4  
Old 12/02/2007
Caral's Avatar
[Caral] Caral is offline
Miembro Premium
 
Join Date: Aug 2006
Posts: 7,659
Poder: 28
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
Reply With Quote
  #5  
Old 12/02/2007
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,145
Poder: 36
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
Reply With Quote
  #6  
Old 12/02/2007
keys's Avatar
keys keys is offline
Miembro
 
Join Date: Sep 2003
Location: Bilbao
Posts: 1,247
Poder: 25
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.
Reply With Quote
  #7  
Old 12/02/2007
Blasito Blasito is offline
Registrado
 
Join Date: Feb 2007
Posts: 7
Poder: 0
Blasito Va por buen camino
Quote:
Originally Posted by 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.
Reply With Quote
  #8  
Old 12/02/2007
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Instancias de SQLServer HombreSigma MS SQL Server 3 25/04/2005 23:11
Multiples instancias Phacko Varios 1 07/09/2004 15:40
instancias abiertas muli Firebird e Interbase 0 07/07/2004 19:48
error al ejecutar dos instancias maruenda Conexión con bases de datos 3 17/02/2004 03:16
instancias botones67 Varios 1 22/08/2003 19:06


All times are GMT +2. The time now is 11:08.


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
Copyright 1996-2007 Club Delphi