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 :

[A-03][SQL-05] Table liées SQL Server / temps expiré


Sujet :

VBA Access

  1. #1
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut [A-03][SQL-05] Table liées SQL Server / temps expiré
    Bonjour à tous (et meilleurs voeux),

    J'ai une base Access 2003 avec des tables liées à SQL Server 2005. Les liens fonctionnent, à priori pas de soucis.

    Un petit code VBA trés simple execute une requête mise à jour sur une des table SQL Server liées (10 000 enregistrements sur 20 champs) et à l'execution du code, depuis peu (ça fonctionnait donc auparavant), il me met le message d'erreur:

    [Microsoft][ODBC SQL Server Driver]Timeout expired (#0)

    après avoir mouliné au moins 20 secondes...

    J'ai essayé de jouer avec les propriétés de la requête et d'augmenter la Temporisation ODBC sans effet (à part que je n'ai plus d'erreur, il mouline sans fin...)

    Lorsqu'il plantait (message d'erreur décrit plus haut), si je continuais en pas à pas (pas trop vite mais en patientant beaucoup moins de 20 secondes), la requête s'executait... mais seulement en pas à pas, jamais en vitesse normale.

    Merci d'avance pour vos pistes si vous avez des idées

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Bonjour,

    Comment peux-tu faire avancer une requête pas à pas ?

    Ce n'est pas plutot une requête exécutée dans une boucle ?

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Bonjour loufab,

    merci de t'interreser

    la requête mise à jour se base sur 2 fonctions personnalisées simples donc juste avant d'executer la requête il execute les fonctions personnalisées. mais la requête n'est pas exécutée en pas à pas, comme tu le précises, ce n'est pas possible.
    En fait il finissait par planter, je faisais débogage, puis en avançant en pas à pas doucement (comme pour le laisser souffler ) la requête s'executait (trés vite, pas plus de 3 à 4 secondes)... c'est comme s'il avait besoin de temps pour vérifier que la liaison au server SQL est toujours active.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Essaye de ponctuer par des doevents pour lui laisser finir les traitements internes.

    ce n'est qu'une idée à tester.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Excellente idée... que j'avais testé auparavant sans résultat malheureusement... Le soucis est que comme tu l'as précisé, impossible de mettre un DoEvents dans l'execution d'une requête, donc je les ai mis avant (dans une boucle). Que je boucle 200 ou 20000 fois, je n'ai pas observé de résultat probant.

    Malheureusement je n'ai pas accès à l'administration de la base SQL Server (je n'ai pas les compétences d'ailleurs) et je me demande si tous les tests d'execution ratés ne finissent pas par rester en mémoire et plomber de plus en plus ses performances... et comme l'administrateur est en congés

    En tout cas merci pour ces pistes, pour être franc je trouve ce comportement assez bizarre... si je finis par trouver une solution, même partielle, je vous en ferais part.

    Evidement il y aurait sans doute la solution de ne pas passer par une requête et d'accéder à la table en ADO pour faire mon UPDATE, mais j'aurais aimé ne pas en arriver là.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Evidemment le doevents ne concerne pas le serveur.
    On peut voir le code ? Il y a peut-être quelque chose qui interpellera quelqu'un.
    Tu as jeté un oeil sur l'optimisation des appli ACCESS il y a quelques conseils sur ODBC.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Re,

    Intéressant, mais je n'ai pas trouvé où on parle de l'optimisation des applis ACCESS ? désolé, j'ai cherché pourtant...

    pour le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    'Le bouton (dans le formulaire)
    Private Sub Commande30_Click()
    Call DefClose(Me.ID_Order, "Clôturé")
    Me.Requery
     
    End Sub
     
    'Dans un module :
    Sub DefClose(Order_ID As Long, Stat As Variant)
    ActualOID = Order_ID
    ActualStat = Stat
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "ChangeStatus"
    DoCmd.SetWarnings True
     
    End Sub
    Les varaibles ActualOID et ActualStat sont utilisées ensuite dans des fonctions du même module qui sont appelées dans la requête ChangeStatus

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 137
    Par défaut
    Dans ma page perso ou tu as le lien dans ma signature. Sinon il est dans la page tutoriel Access.

    Si ça fonctionnait avant il y a peut-être un problème dans SQL server.

    Sinon il n'y a pas plus simple comme code. Niveau sql server je n'ai pas assez de recul mais j'essayerais une chose avant de vérifier la requete et la structure des tables. Un Execute en DAO et/ou ADO ?

    Là-dessus tu devrais trouver des indication dans le tuto sur ACCESS et SQL server http://argyronet.developpez.com/office/access/mdb2adp/
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Merci pour le lien, j'ai fini par ouvrir les yeux (pas toujours facile un 2 janvier) et le voir

    Je pense que je vais attendre le retour de l'administrateur SQL Server (lundi)pour voir si c'est dans ce sens qu'il faut fouiller...

    Merci encore de ton implication.

    Bon Week end

  10. #10
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Bonjour à tous,

    à priori, pas de soucis sur le serveur SQL Server...
    Aujourd'hui, ça passe une fois sur 2 ???

    En plus j'ai une autre base Access jumelle qui pointe sur une autre base SQL Server, avec une table modifiée plus grosse et sur celle la ça ne plante jamais.

    Mystère et boule de gomme.

  11. #11
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    Pas de soucis d'espace sur ton SQL Server (base de données, Log File, TempDB) ?
    [Access] Les bases du débogage => ici

  12. #12
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Bonjour kloun,

    pas d'après mon administrateur SQL Server... et moi je n'y connais rien et je n'ai pas accès.

    je vais encore l'embêter pour fouiller de ce côté là

    Merci

  13. #13
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 196
    Billets dans le blog
    2
    Par défaut
    Bonjour à tous,

    bon, pour ceux que ça intéresse, j'ai réussi à résoudre le problème sans pour autant comprendre d'où il venait...

    J'ai supprimé la requête et je l'ai recréée à l'identique... et hop, ça marche... mystères de l'informatique...

  14. #14
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Salut à tous,

    Si c'est résolu, merci de cliquer sur ...


    ce qui n'empêche pas bien sur d'ajouter par la suite de nouveaux commentaires si tu as trouvé la cause


    Bon courage
    Mout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Table liée Sql Server + multiple utilisateurs
    Par nesswaw dans le forum Access
    Réponses: 1
    Dernier message: 06/11/2014, 15h56
  2. [AC-2000] Table liées SQL Server
    Par gueguenk dans le forum Access
    Réponses: 2
    Dernier message: 30/06/2010, 08h48
  3. Réponses: 0
    Dernier message: 16/04/2010, 18h45
  4. table liée sql server et mot de passe
    Par samuelsiffert dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/06/2007, 21h46
  5. Pb lecture enregistrement table liée SQL SERVER
    Par christellel198 dans le forum Access
    Réponses: 3
    Dernier message: 25/10/2005, 09h34

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