IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Connexion ODBC timeout ne fonctionne pas


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2010
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 149
    Points : 67
    Points
    67
    Par défaut Connexion ODBC timeout ne fonctionne pas
    Bonjour,

    Je veux, si mon serveur est fermé, avertir mon client que le serveur n'est pas disponible et ensuite fermer le programme.
    Le problème est que ça prends 15 (ODBC windows), 20(currentdb), 40(ADODB) secondes avant que je reçoive l'erreur.

    Merci pour vos pistes.
    JF

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Dépendament du driver ODBC, certains offrent la possibilité de régler le TimeOut au niveau du du driver ou au niveau de la connextion.

    Quelle est la BD à laquelle tu veux te connecter ? Oracle ? MS-SQL Server ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2010
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 149
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim DB As ADODB.Connection
    Set DB = New ADODB.Connection
    DB.Open "driver={SQL Server};server=DESKTOP-1HAJ2KN\SQLEXPRESS;uid=sa;pwd=;database=MABD_be"
    J'ai aussi lié mes tables avec le driver ODBC 17 de Sql Server qui offre le paramétrage query time, Retry# et Interval.

    Merci bien.
    JF

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Au lieu de faire une connexion via ADO, as-tu essayé avec une table liée ordinaire ?

    De mon expérience avec Oracle, je savais immédiatement si ma table était indisponible si le serveur était "down".
    Il suffisait d'essayer de lire des données et on avait une erreur tout de suite.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2010
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 149
    Points : 67
    Points
    67
    Par défaut
    J'ai essayé avec dao

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set DB = DBEngine.OpenDatabase(CurrentProject.FullName)
        On Error Resume Next
        Set RS = DB.OpenRecordset("select * from dbo_aalog", dbOpenDynaset, dbSeeChanges)
    d'appeler une requête builtIn sur une table liée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On Error Resume Next
    DBEngine(0)(0).QueryTimeout = 1
    DoCmd.OpenQuery "req12", , acReadOnly
    Un Dlookup sur une table liée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Dim ALLO As Double
        If IsNull(ALLO = DLookup("[id]", "dbo_aalog") = False) Then
        MsgBox "Connexion non possible", , "Gestion Chapô"
    .. et je travaille avec des tables liés, car c'est la meilleure façon que je comprend pour utiliser des sous-formulaires dans Access.

    Quand l'application ouvre, le programme se met à lagger, car les tables liées ne trouvent pas leur lien. Or je veux faire une macro autoexec au startup pour vérifier si le serveur est up and running. Mais peut importe la façon que j’essaie, le client met minimum 20 secondes à répondre. Il reste accroché parfois jusqu'à 40 secondes. Et j’imagine qu'il essais et réessaie de se connecter continuellement durant ce temps.

    Dans Access in y a, dans les options sous Paramètre du client dans Avancé, des champs pour paramétriser la temporisation, les intervalles d'actualisation, le nombre de tentatives de mise à jour... intervalle d'actualisation ODBC. J'ai fais des tests et n'y aie pas trouvé de lien avec mon problème.

    J'ai été fouillé dans la base de registre de mon ordi. et j'ai trouvé un seul timeout pour ODBC. Mais il n'a pas de lien avec mon problème.

    Par défaut, quand je teste la connexion dans l'Administrateur de source de données ODBC de Windows, j'obtiens une réponse au bout de 15 secondes (exactement) si le serveur est inaccessible.

    Il doit bien avoir un moyen de contrôler le temps maximum pour tenter une connexion ODBC! Comme le "DB.connexiontimeout = 2 secondes".

    Merci.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Désolé, plus d'idées :-(.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2010
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 149
    Points : 67
    Points
    67
    Par défaut
    Moi je dirais que c'est Windows qui ne me donne pas mon Timeout.
    On m'a dit qu'il était possible d'augmenter le Timeout ODBC, mais j'ai jamais été capable de le réduire.

    Merci.

Discussions similaires

  1. [PDO] Connexion à Mysql avec PDO fonctionne pas, Mysqli oui
    Par Tonii dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/07/2015, 15h17
  2. [JAXWS] Timeout ne fonctionne pas
    Par ekremyilmaz dans le forum Services Web
    Réponses: 0
    Dernier message: 09/12/2013, 18h27
  3. [AC-2007] Erreur connexion ODBC en accde mais pas en accdb
    Par alvadije dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/02/2012, 12h00
  4. TimeOut ne fonctionne pas?
    Par mactwist69 dans le forum VB.NET
    Réponses: 6
    Dernier message: 01/05/2010, 12h46
  5. Connexion via Indy10 ne fonctionne pas sur un autre ordinateur
    Par kernigansnotdead dans le forum Composants VCL
    Réponses: 7
    Dernier message: 12/02/2008, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo