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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 191
    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 191
    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 191
    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 191
    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 191
    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 191
    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

+ 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