Establecer tiempo ilimitadado en la conex. ¿A sql?

Me estoy conectando a sql server 2000 desde visual basic 6.
A veces tengo problemas cuando se estblece la conexion; el servidor me dice que el tiempo ha caducado.
No entiendo porque me da este aviso. Si le doy a aceptar, el programa sigue ejecutándose perfectamente, es decir, consigue conectarse al reintentar la conexión. Este mensaje de error no me lo da siempre, solo a veces.
Pensaba que tenia controlado esto modificando las propiedades del sql server (poniéndole a 0 segundos a intervalo para realizar las distintas conexiones y consultas (es decir, esto me garantiza, que el tiempo para efectuar una consulta o conexiob sea ilimitado con lo que no debería saltar el error de "se termino el tiempo para la conexión"; ¿Estoy en lo cierto?)
Ademas, le puse 1 segundo de intervalo en el sondeo del sql server.
Mi pregunta es, si me más me hace falta o mejor dicho, que me hace falta hacer el el servidor sql server para que el tiempo no sea limitado y así no me salte error en la conexión porque el tiempo ha finalizado.
Espero que haya entendido mi problema; si sabe como solucionarlo.

2 Respuestas

Respuesta
1
Lo que veo es que se tiene problemas con la red o la forma en la que se esta conectando con el servidor de sql server, porque las respuestas de conexión son inmediatas, toman milisegundos en realizarse. Ahora, con la ejecución de consultas y stored procedures se tiene que revisar la forma en que se realizan porque mucho depende de como se tengan hechos los indices, reglas de integridad y en general todo el performance de los atributos de una base de datos para que esta de el mejor resultado. Hay que revisar los procesos en ejecución en el servidor para ver el consumo de recursos y tiempos.
Buenas:
Gracias por su opinión ante todo.
Un apunte; solo me da error de que el tiempo de conexión ha caducado si el servidor sql esta en otro equipo que no sea el mio. Es decir, en local no tenia este problema, solo me da si ejecuto el programa contra el servidor.
De todas formas, me gustaría saber cual es el lugar del administrador de sql server en el que se establecen las propiedades para que el tiempo de consultas y conexiones sea ilimitado. (Por si a caso no es donde yo creía).
Gracias nuevamente.
Un saludo
El tiempo lo defines en la conexión de ADO que hayas hecho, por lo que muchas veces le aumentas o disminuyes ese tiempo, por ejemplo:
gcx_Conexion.CommandTimeout = 300
Donde gcx_Conexion es una variable general que tengo para generar las conexiones.
Lo otro es ver en el administrador de sql server del servidor que te da problemas la forma en la que tiene los procesos activos.
Muy buen ejemplo, como ya no trabajo con DAO, por eso me enfoque en ver el problema desde ADO.
Un favor, puedes valorar las respuestas.
Saludos y mil gracias.
Hasta la próxima.
David Enciso
Respuesta
Este error es común en sql server, creo que en el último service pack está solucionado...
Estuve buscando posibles soluciones y no tuve suerte, lo único que te quedaría es controlar los time outs desde tu driver(Ado, dao, etc) o atrapar el error y ejecutar nuevamente el string dee conexión...
Lamento no poder ser de más ayuda
Buenas :
Quería saber si me podía decir cual es el parámetro que tengo que especificar en mi cadena de conexión para controlar los time outs que me comenta.
Mi cadena de conexión es la siguiente :
data1.connect =
"ODBC;DRIVER=SQL Server;Trusted_Connection=No;UID=sa;
PWD=h;Database=Gestion;QueryLogTime=0;
WSID=Pc1;APP=MiAplicacion;
Server=Servidor2000"
Gracias por contestarme y a ver si me puede echar una mano.
Un saludo.
Buenas de nuevo :
Ya solucione mi problema; utilizo el parametro : LOGINTIMEOUT=0 dentro de la cadena de conexion.
Ahora el tiempo lo controla la cadena y no el administrador sql server.
Funciona. Gracias por tu opinión.
Un saludo
Ok, me alegro mucho que hayas podido solucionarlo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas