OLEDB y Timeout

Si trabajas con OLEDB, te interesa conocer estos dos valores para la cadena de conexión:   WD Connection Timeout    WD Command Timeout

En el enlace: https://help.windev.com/?9000124&name=optional_connection_information  explican su uso.

Estaba teniendo un problema con SQL Server, ya que tengo un SQL que inserta 400.000 registros con un INSERT SQL ….. SELECT otra tabla,   y en la ejecución en LOCAL me tarda entre 25-30 segundos.  A veces me funcionaba bien pero otras veces, me daba error de TIMEOUT y no se ejecutaba.  Cuando lo ejecuto contra el servidor de producción, el tiempo se va a 50-60 segundos y SIEMPRE me da error de TIMEOUT.

Windev, por defecto tiene establecido 30 segundos de espera para la ejecución de comandos SQL para conexiones nativas o por OLEDB, y si la instrucción dura más de 30 segundos, la cancela.

La forma de solucionarlo, es usar “WD Command Timeout=xxxxx” segundos en la cadena de conexión.

Le he puesto “WD Command Timeout=3600” (una hora) y …. ¡FUNCIONA!  J, ahora las consultas grandes que duran 1-3 minutos se ejecutan sin problemas.