ACC : Comment définir la valeur QueryTimeout pour les connexions ODBC

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Résumé

IMPORTANT : Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, vous devez d’abord vous une copie de sauvegarde des fichiers du Registre (System.dat et User.dat). Les deux sont des fichiers cachés dans le dossier Windows.


Avancé : Nécessite un niveau expert en matière de programmation, d'interopérabilité et compétences multi-utilisateur.


Cet article explique comment définir la propriété QueryTimeout pour les requêtes exécutées sur des sources de données ODBC.

Plus d'informations

Lorsque vous utilisez une base de données ODBC, par exemple de Microsoft SQL Server, il peut y avoir des retards réseau du trafic ou une utilisation intensive du serveur ODBC. Au lieu d’attendre indéfiniment, vous pouvez spécifier la durée d’attente avant que le moteur de base de données Microsoft Jet génère une erreur. Le paramètre par défaut de la propriété QueryTimeout est de 60 secondes. Ce paramètre peut-être pas suffisamment long pour permettre à certaines requêtes à exécuter par rapport à des sources de données ODBC. Le des deux méthodes suivantes expliquent comment modifier la propriété QueryTimeout.


REMARQUE : Lorsque vous utilisez la méthode 1 pour modifier la propriété QueryTimeout, la valeur est définie pour un objet QueryDef spécifique. Lorsque vous créez une nouvelle requête par le biais de l’interface utilisateur dans Microsoft Access 97, la propriété QueryTimeout 60 par défaut.


REMARQUE : Lorsque vous utilisez les étapes de la méthode 2 pour définir la valeur QueryTimeout dans le Registre, toute requête de nouveaux et existant dans Microsoft Access continue d’afficher une valeur de 60 pour la propriété QueryTimeout. Si la valeur définie dans le Registre est supérieure à la valeur définie dans la requête individuelle, Microsoft Access utilise la valeur dans le Registre pour déterminer combien de temps à attendre avant une QueryTimeout se produit.

Méthode 1

Créez une sous-routine pour définir la propriété.


Créer et exécuter la sous-routine suivante lorsque vous ouvrez votre base de données :

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


Une fois que cette propriété est définie, elle remplace toute valeur de paramètre ou la valeur par défaut du Registre de Windows.


REMARQUE : Si vous rencontrez des problèmes avec la propriété QueryTimeout, vous devrez peut-être mettre à niveau vers la version la plus récente du moteur de base de données Microsoft Jet pour votre version de Microsoft Access. Jusqu’alors, si vous rencontrez des problèmes avec CurrentDB.QueryTimeout, vous pouvez également essayer d’utiliser DBEngine (0)(0). Toutefois, il est recommandé que vous disposez de la version actuelle du moteur de base de données Microsoft Jet.


Pour plus d’informations sur la façon d’obtenir Microsoft Jet 3.51, consultez l’article suivant dans la Base de connaissances Microsoft :


172733 ACC97 : Updated Version of Microsoft Jet 3.5 disponible pour téléchargement

Exemple d’utilisation de DBEngine


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


Méthode 2

Définissez la propriété dans le Registre.


AVERTISSEMENT : L’utilisation incorrecte de l’Éditeur du Registre peut entraîner des problèmes sérieux pouvant vous obliger à réinstaller Windows. Microsoft ne peut garantir que les problèmes résultant d’une utilisation incorrecte de l’Éditeur du Registre puissent être résolus. Utilisez l'éditeur de Registre à vos risques et périls.


Pour plus d’informations sur la façon de modifier le Registre, affichez la rubrique d’aide Modification des clés et des valeurs dans l’Éditeur du Registre (Regedit.exe). Notez que vous fasse une copie de sauvegarde des fichiers du Registre (System.dat et User.dat) avant de modifier le Registre.

À l’aide de Microsoft Access 97


  1. Accédez à la clé de Registre suivante :

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

  2. Sélectionnez QueryTimeout et cliquez sur Modifier, puis modifier. Modifiez la valeur DWORD à votre paramètre de votre choix. La valeur représente le nombre de secondes de délai d’attente.

À l’aide de Microsoft Access version 7.0


  1. Créer la clé de Registre suivante :

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

  2. Cliquez sur Modifier et cliquez sur valeur DWORD. Ajouter QueryTimeout et définir le délai d’attente en une valeur entière. Cette valeur représente le nombre de secondes de délai d’attente.
Remarque : Si cette modification du Registre a été effectuée pendant l’exécution de Microsoft Access, vous devez tout d’abord fermer, puis rouvrir Microsoft Access avant de la modifier est reconnu.

Références

Pour plus d’informations sur la sauvegarde de la base de registres, consultez l’article suivant dans la Base de connaissances Microsoft :


Outil de sauvegarde de configuration 135120 pour sauvegarder le Registre


Propriétés

ID d'article : 153756 - Dernière mise à jour : 9 janv. 2017 - Révision : 1

Commentaires