ACC: Cómo establecer el valor de QueryTimeout para conexiones ODBC

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

IMPORTANTE: Este artículo contiene información acerca de cómo modificar el registro. Antes de modificar el registro, primero debe hacer una copia de los archivos del registro (System.dat y User.dat). Ambos son archivos ocultos ubicados en la carpeta Windows.


Avanzado: Requiere conocimientos avanzados de codificación, interoperabilidad y multiusuario.


En este artículo se muestra cómo establecer la propiedad QueryTimeout para las consultas realizadas a orígenes de datos ODBC.

Más información

Cuando se utiliza una base de datos ODBC, como Microsoft SQL Server, pueden producirse retrasos debido a la utilización de tráfico o a la sobrecarga de red del servidor ODBC. En vez de esperar indefinidamente, puede especificar cuánto tiempo debe esperar antes de que el motor de base de datos Microsoft Jet genera un error. El valor predeterminado de la propiedad QueryTimeout es 60 segundos. Esta configuración puede no ser suficiente para permitir que algunas consultas a orígenes de datos ODBC. Los dos métodos siguientes muestran cómo cambiar la propiedad QueryTimeout.


NOTA: Cuando se utiliza el método 1 para cambiar la propiedad QueryTimeout, se establecerá el valor de un objeto QueryDef específico. Cuando se crea una nueva consulta a través de la interfaz de usuario de Microsoft Access 97, la propiedad QueryTimeout predeterminado de 60.


NOTA: Al utilizar los pasos contenidos en el método 2 para establecer el valor de QueryTimeout en el registro, continuará las consultas nuevas y existentes dentro de Microsoft Access mostrar un valor de 60 para la propiedad QueryTimeout. Si el valor establecido en el registro es mayor que el valor definido en la consulta individual, Microsoft Access utilizará el valor del registro para determinar cuánto tiempo debe esperar antes de que se produzca un QueryTimeout.

Método 1

Cree una subrutina para establecer la propiedad.


Cree y ejecute la subrutina siguiente al abrir la base de datos:

   Sub SetTimeout()      Dim Mydb as Database
Set Mydb=CurrentDB
MYdb.QueryTimeout=120
End Sub


Una vez establecida esta propiedad, reemplaza cualquier valor de configuración o predeterminado del registro de Windows.


NOTA: Si tiene problemas con la propiedad QueryTimeout, debe actualizar a la versión más reciente del motor de base de datos Microsoft Jet para su versión de Microsoft Access. Hasta entonces, si tienes problemas con CurrentDB.QueryTimeout, también podría intentar utilizar DBEngine (0)(0). Sin embargo, se recomienda que tiene la versión actual del motor de base de datos Microsoft Jet.


Para obtener información acerca de cómo obtener Microsoft Jet 3.51, consulte el artículo siguiente en Microsoft Knowledge Base:


ACC97 172733 : versión actualizada de Microsoft Jet 3.5 disponible para descargar

Ejemplo de uso de DBEngine


  Sub mytest()     Dim mydb As Database
Set mydb = DBEngine(0)(0)
mydb.QueryTimeout = 120
MsgBox mydb.QueryTimeout
End Sub


Método 2

Establezca la propiedad en el registro.


ADVERTENCIA: Si utiliza incorrectamente el Editor del registro puede provocar problemas graves que quizás requieran volver a instalar Windows. Microsoft no puede garantizar que puedan resolverse los problemas resultantes del uso incorrecto del Editor del registro. Utilice el Editor del registro bajo su propio riesgo.


Para obtener información acerca de cómo modificar el registro, consulte el tema de ayuda en línea de cambiar claves y valores en el Editor del registro (Regedit.exe). Tenga en cuenta que debe hacer una copia de los archivos del registro (System.dat y User.dat) antes de modificar el registro.

Utilizando Microsoft Access 97


  1. Ir a la siguiente clave del registro:

         HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\ODBC

  2. Seleccione QueryTimeout, haga clic en Editar y, a continuación, modificar. Cambie el valor DWORD a la configuración deseada. El valor representa el número de segundos de tiempo de espera.

Utilizando Microsoft Access versión 7.0


  1. Cree la siguiente clave del registro:

        HKEY_LOCAL_MACHINE\Software\Microsoft\Access\7.0\Jet\3.0\Engines\ODBC

  2. Haga clic en modificar y, a continuación, seleccione valor DWORD. Agregue QueryTimeout y establezca el tiempo de espera en un valor entero. Este valor representa el número de segundos de tiempo de espera.
Nota: Si se realizó este cambio en el registro mientras se ejecuta Microsoft Access, primero deberá cerrar, después vuelva a abrir Microsoft Access antes de que se reconoce el cambio.

Referencias

Para obtener más información acerca de copia de seguridad del registro del sistema, consulte el artículo siguiente en Microsoft Knowledge Base:


Herramienta de copia de seguridad de configuración 135120 para copia de seguridad del registro


Propiedades

Id. de artículo: 153756 - Última revisión: 9 ene. 2017 - Revisión: 1

Comentarios