Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2008
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 23
rastafarey Va por buen camino
resp

buenos amigos yop uso ibo y jamas he tenido esos problemas.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #2  
Antiguo 11-03-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por rastafarey Ver Mensaje
buenos amigos yop uso ibo y jamas he tenido esos problemas.
Como ya le había recomendado a rolandoj sería bueno que hiciera una prueba con componentes nativos para la conexión, hay que recordar que dbExpress adapta el Query para que sea compatible con la mayoría de las DBs.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 12-03-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Usar nativos no me daría mayor información

Cita:
Empezado por D&W Ver Mensaje
Como ya le había recomendado a rolandoj sería bueno que hiciera una prueba con componentes nativos para la conexión, hay que recordar que dbExpress adapta el Query para que sea compatible con la mayoría de las DBs.
Hola,

No creas que he olvidado tú sugerencia. Lo que pasa es que, para que pueda servirnos, sería necesario reemplazar todo lo involucrado, ya que no tendría sentido estar probando con unas queries vía dbExpress y otras IBO en la misma consulta. Son bastantes llamadas, luego, aún si me funcionara todo bien, lo único que probaría sería que el problema es con dbExpress; pero no me diría si es configuración de dbExpress o algún error en su código, y ni siquiera me localizaría el punto del problema.

Por lo anterior, no he probado por ese camino; pero, de todas formas agradezco la idea.

De hecho, la idea que tengo ahora es esperar a Oracle; pero, en el intermedio, revisar lo que se pueda, siempre y cuando no represente demasiado esfuerzo

Saludos
Responder Con Cita
  #4  
Antiguo 12-03-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Exclamation Posible problema al usar TCriticalSection en esta aplicación

Hola,

Empezando a ver lo de la sección crítica, me encontré una referencia a su uso en DLLs, que es mi caso. Me asaltan muchas dudas, ya que no había encontrado antes ninguna observación al respecto, dentro de lo que he leído; así que le abrí un hilo. Pueden verlo aquí:

http://www.clubdelphi.com/foros/showthread.php?t=54254

El punto es que si la cosas son como dice la referencia que encontré, deberé recodificar la parte de actualización de variables globales (Por cierto, no olviden que eso no afecta al problema actual, ya que en las pruebas realizadas aún no hemos usado datos globales)
Responder Con Cita
  #5  
Antiguo 17-03-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Smile Básicamente solucionado. Pregunta extra

Hola,

El problema parece solucionado, aunque aún persisten algunas anormalidades.

Les adelanto que sí tenía que ver con drivers, aunque no exactamente un error en ellos. Les explicaré bien en cuanto solucione algunos detalles aún oscuros.

Ahora les pido colaboración a ver si alguién puede aclarar algo que encontré como parte de la investigación de este problema. Es un detalle que había manejado hace tiempo y lo había pasado por alto; pero que me genera dudas.

Le abrí el siguiente hilo :

http://www.clubdelphi.com/foros/showthread.php?t=54401
Responder Con Cita
  #6  
Antiguo 19-03-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Delimitando otros problemas afines

Hola,

Les cuento que las pruebas para aclarar los otros detalles me han llevado a un punto donde requiero ayuda.

Recuerdan mis dudas respecto a TCriticalSection ?. Eran porque la concurrencia también fallaba en casos en los que una de las llamadas no involucraba acceso a Bases de Datos. Pués bien, todo parece indicar que es más bien un limitante o un problema de configuración con Indy. Es un caso
que técnicamente puede servirle a algunos. Le abrí este hilo:

http://www.clubdelphi.com/foros/showthread.php?t=54448
Responder Con Cita
  #7  
Antiguo 11-03-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Avance de las pruebas

Cita:
Empezado por rastafarey Ver Mensaje
buenos amigos yop uso ibo y jamas he tenido esos problemas.
Hola,

Agradezco mucho el aporte; pero, yo necesito que mis programas sean portables entre motores de bases de datos, luego no me sirven los componentes IBO.

Por otra parte, con las últimas pruebas, me asaltan dudas de que el acceso a la Base de Datos no sea el único problema. Veamos:

Una de las pruebas extremas que hice fué encerrar todo el código de una consulta en una sección crítica, y, para mi sorpresa, se bloqueó. Complementé la prueba implementando mi propia sección crítica para garantizar que no se ejecutará otra consulta mientras se estuviera ejecutando una llamada; y me funcionó bien.

La conclusión que saco es que algo pasa con el manejo del componente TCriticalSection y, por razones que desconozco, permitió que se ejecutara algo en "simultánea". Averigué algo y al parecer hay aspectos "oscuros" en el tema. La explicación dada en las ayudas de Delphi, y usualmente encontrada en ejemplos, puede no ser tan completa como podría esperarse, ya que encontré notas donde alguién advierte de problemas relacionados con ella e incluso dice que los variable compartidas TList deben ser protegidas con una clase diferente a TCriticalSection. Vean esta página: http://www.gothi.co.uk/2006/10/threading-in-delphi.html

El tema me interesa porque, por eficiencia, se manejan un objeto global para datos caches con varias listas descendientes de TStringList. No hay riesgo de que afecten las pruebas hechas porque durante las mismas nunca se han usado las opciones que modifican datos globales. Alguién sabe de algún hilo donde se trate a fondo este tema, o puede abrir alguno para ilustrarlo ?

Lo importante de este caso es que me ha hecho pensar en la posibilidad que el problema no esté en el propio acceso a la Base de Datos. El código de estas consultas es muy complejo y quizás se están llamando algunas rutinas de librería Delphi que no son hilo seguro. No lo había considerado antes porque tenía entendido que lo que no era hilo seguro eran los componentes visuales, y este es un DLL que no los usa; pero, quizás hay otras unidades que no lo son. Alguién puede sugerir como revisar esta posibilidad ?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Indy y Threads PeLuCa Internet 20 13-01-2011 00:42:21
Threads y transacciones anduj Conexión con bases de datos 5 12-07-2005 20:31:40
problemas con threads dentro de un componente elcigarra OOP 26 26-05-2005 04:29:35
Threads sobre Componentes NeWNeO Varios 6 05-07-2004 15:43:17
Manejo de threads en Delphi dmasson Varios 3 16-04-2004 15:22:58


La franja horaria es GMT +2. Ahora son las 21:10:50.


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