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 16-08-2012
laguilar59 laguilar59 is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 13
Poder: 0
laguilar59 Va por buen camino
Talking termino tiempo de espera AdoConnection

Hola!!!

Soy nuevo en este foro por lo cual les doy las gracias por adelantado a quién pudiera ayudarme con lo siguiente:


Tango una aplicación que al realizar la consulta de la información se tarda y finalmente manda el mensaje de Termino tiempo de espera

Si el mismo script lo hago en el Administrador corporativo, directamente en la tabla me manda el mismo mensaje pero si lo hago en el analizador de consultas de SQL se tarda 35 segundos y arroja el resultado

La conección la hago a través del ADOConnection en donde el CommandTimeOut y el CommandConecction estan en 0.

Ojala pudieran orientarme para poder realizar las consultas sin que mande este mensaje.

La tabla tiene aproximadamente 375,000 registros.

No pude subir las imágenes para que vieran las pantallas pero si alguien me puede orientar como hacerlo se los agradecería bastante.

Saludos

Luis Aguilar
Responder Con Cita
  #2  
Antiguo 16-08-2012
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
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración


En principio, lo que no es normal es que tarde tanto, ¿la BD está bien?, en caso afirmativo ¿tienes los índices oportunos?, ¿qué sentencia estás usando?, ¿qué tipo de base de datos es?, ¿cual es el mensaje exacto de error?, etc...
Responder Con Cita
  #3  
Antiguo 17-08-2012
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por laguilar59 Ver Mensaje
.... y el CommandConecction estan en 0....
Precisamente éste es el problema. TADOConnection tiene el problema que con ciertos drivers de MS SQL Server y otros motores de bases de datos no hace caso al "supuesto" infinito que representa el cero en ésta propiedad.

Yo tuve un problema similar y lo solucioné poniéndoles explícitamente valores a ésta propiedad, de entre 20 y 60 minutos (así de pesada estaba la consulta) y funciona a las mil maravillas. Te aconsejo que tú hagas lo mismo.

Saludines...
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #4  
Antiguo 17-08-2012
laguilar59 laguilar59 is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 13
Poder: 0
laguilar59 Va por buen camino
Tengo una Tabla maestra y a partir de esa genere otras mas, una por año o ciclo escolar, no manejo indices, la sentencia es la siguiente:

SELECT Estado, IdCentro, Centro, IdAlumno, IdControl, ApellidoPaterno, ApellidoMaterno, Nombre, Nivel, SituacionFinal, FolioBoleta, FolioCertificado,
FechaNacimiento, CURP, Descripcion
FROM Alumnos0910
WHERE (IdEstado = '26') AND (ApellidoPaterno = 'AGUILAR')

La bases de datos es de SQL2000, y el mensaje textual es Termino el tiempo de espera o en Delphi
es: Project ProjectConsultas.exe raised exception class OleException with message "Termino el tiempo de espera" Procces Stoped

Acabo de ponerle 50 y 50 al CommandTimeOut y al CommandConecction pero sigue persistiendo el mensaje.
Responder Con Cita
  #5  
Antiguo 17-08-2012
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
Cita:
Empezado por laguilar59 Ver Mensaje
La bases de datos es de SQL2000
¿Eso qué es?, ¿Microsoft sql?

Cita:
Empezado por laguilar59 Ver Mensaje
no manejo indices
Amigo, y ¿quieres que sea rápido?
Responder Con Cita
  #6  
Antiguo 17-08-2012
laguilar59 laguilar59 is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 13
Poder: 0
laguilar59 Va por buen camino
Gracias por la atención y sus tips.
Si es microsoft SQL Server 2000.
Podrían orientarme en como decidir cual indice es el mejor para las tablas?
Las tablas tienen un campo que es irrepetible para cada registro, podría ser éste mi indice?
Ojala Pudieran orientarme al respecto.

Mil gracias
Responder Con Cita
  #7  
Antiguo 17-08-2012
laguilar59 laguilar59 is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 13
Poder: 0
laguilar59 Va por buen camino
Quizá valga la pena comentar que utilizo en mi aplicación aparte del AdoConnection uso un ADOQuery, y un Dbgrid en donde muestro los resultados, además de otra opción para poder exportar el resultado a excel.

Gracias por la atención.
Responder Con Cita
  #8  
Antiguo 17-08-2012
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
Código SQL [-]
SELECT Estado, IdCentro, Centro, IdAlumno, IdControl,  ApellidoPaterno, ApellidoMaterno, Nombre, Nivel, SituacionFinal,  FolioBoleta, FolioCertificado, 
       FechaNacimiento, CURP, Descripcion
FROM   Alumnos0910
WHERE  (IdEstado = '26') AND (ApellidoPaterno = 'AGUILAR')

Hombre, si tienes un campo que no se puede repetir, ese sería del tipo 'único'.
Para el índice, además de un campo 'clave' para cada registro, en tu caso debes tener como mínimo los que uses en las búsquedas y condicionantes: 'idEstado' y 'ApellidoPaterno'.
Responder Con Cita
  #9  
Antiguo 17-08-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.284
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo primero que hay que saber es en qué parte de la consulta se están perdiento esos 35 segundos.
Para eso hay que analizar la consulta.

Desde el Query Analizer de SQL Server, lanza la consulta y visualiza el plan de ejecución de la consulta.



Una vez que sepas a qué se dedica el tiempo de la consulta, entonces podemos ver cómo actualizar (filtros, índices,...)

Ejecuta y pon el plan, a ver qué se puede mejorar.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 17-08-2012
laguilar59 laguilar59 is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 13
Poder: 0
laguilar59 Va por buen camino
Gracias a todos por el apoyo.
Lo solucione creando los indices.
Nuevamente muchas gracias por los consejos y orientaciones!!!
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
Tiempo de espera por Zeus santi33a Conexión con bases de datos 0 21-06-2012 19:13:18
Tiempo de espera.- BuenaOnda Conexión con bases de datos 13 16-11-2007 03:12:32
Tiempo de Espera barrauda Varios 4 16-07-2007 02:28:01
Tiempo de espera emeritos Varios 1 29-06-2006 11:49:26
Incrementar el tiempo de espera en ADO mvelgar Conexión con bases de datos 4 14-07-2005 21:43:05


La franja horaria es GMT +2. Ahora son las 13:17:42.


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