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

XMLRAD Discussion :

TDacQuery.Open - Expiration du délai


Sujet :

XMLRAD

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Par défaut TDacQuery.Open - Expiration du délai
    hello,

    XMLRAD 2005, Delphi, SQLServer, XP

    oui, encore moi...
    Je suis entrain de créer un petit exemple, au cas où ce soit nécessaire, mais j'expose quand même déjà mon problème :

    j'ai un xsl avec une meta refresh. C'est une page de logs, en fait, qui va faire une requête dans ma table de logs. Le refresh a été fixé à 30s mais ça peut changer...ce n'est pas très grave.
    Cette page qu'on va appeler logs.xsl est appelée dans une iframe située dans une autre page, qu'on va appeler main.xsl.
    Au passage, j'ai une 2de iframe dans cette page pour l'affichage des progress bar (progress.xsl ? ;-) )
    La page principale fait des écritures, effacements, mises à jour...etc...avec pas mal de code Delphi en plus (des vérifications, du parsing, etc...). Sur la même base que les logs (mais pas la même table évidemment) ET sur une autre base.

    Le problème est que si je mets ces refresh, log.xsl plante avec l'erreur que j'ai mise en sujet de ce post : TDacQuery.Open - Expiration du délai

    J'ai mis 4 threads users dans mon projet.
    sqlserver a l'air capable de gérer différentes connexion avec le user sur ma (mes bases : 1 user par base).

    Pourquoi xmlrad plante t il ? Visiblement, ce sont les accès concurrentiels qui ne lui plaisent pas.

    Merci :-)

    Johan

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Par défaut
    au fait, précision (après recherche sur google lecture d'un vieux post effacé depuis, sur le même sujet, ici) : la requête qui expire ne prend rien comme temps. Normalement. C'est le traitement en parallèle qui lui en prend (et qui n'expire pas puisque ce sont plusieurs requêtes, des traitements, etc...).
    Donc, elle expire. Mais je pensais que la requête devrait se faire "en parallèle"...on est pas limités à 1 connection par user quand même :-(

  3. #3
    RDM
    RDM est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    une erreur comme celle signifie clairement que qie SQLServer n'arrive pas a terminer la requête en 30 secondes qui est le timeout par défaut.

    j'ai un peu de mal a comprendre tes traitements parallèles, mais sache, que ca ne sert a rien de multiplier les threads user dans le projet.
    normalement c'est un thread par processeur + 1.
    donc sur un monoprocesseur c'est 2 threads maxi !

    je compte d'ailleurs faire un article sur les statisitiques/montée en charge et parallèlisation avec XMLRAD dans les prochaines semaines

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Par défaut
    Citation Envoyé par RDM
    normalement c'est un thread par processeur + 1.
    donc sur un monoprocesseur c'est 2 threads maxi !
    De toute façon on voit que pour ce cas on ne fais jamais appel aux autres threads .. mais le pb persiste si tu lances pas mal de requete d'insert (imbrication de plusieurs services pour faire un process) et que tu vas sur le query analyser et tu lances une requete ... elle met un tant important à finir .. des fois plus de 30s.

    1) Comment augmenter ce timeout ? j'ai pensé à un paramètre dans datasources mais je ne me souviens plus lequel est-ce ?

    2) Comment faire pour faire un process un peu long ? et avoir un refresh d'une partie d'un écran ?

    Merci pour les infos

    Michel

  5. #5
    RDM
    RDM est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    Citation Envoyé par mchicoix
    mais le pb persiste si tu lances pas mal de requete d'insert (imbrication de plusieurs services pour faire un process) et que tu vas sur le query analyser et tu lances une requete ... elle met un tant important à finir .. des fois plus de 30s.
    et bien parfois il faut découper les requêtes plutot que de faire une grosse requête qui risque de ne pas terminer !
    une requête qui prend 30 secondes il y à mon avis un soucis, et il faut regarder de près pourquoi elle prend 30 secondes (index, produits cartésiens, etc...). Modifier le timeout, c'est pas forcément la solution...

    1) Comment augmenter ce timeout ? j'ai pensé à un paramètre dans datasources mais je ne me souviens plus lequel est-ce ?
    Dans l'appendix 3, tous les paramètres sont référencés. Je vous invite fortement a regarder les appendix de près, ils ont été largement mis à jour et vous pouvez trouver la majorité de votre bonheur dedans !
    http://xmlrad.com/DelosBin/Delos.dll/ServePage?URL=Manual/Appendix03/index.htm&WEB_ID=101001015

    autre lien:
    http://xmlrad.developpez.com/faq/?pa...uverAideXMLRAD

    2) Comment faire pour faire un process un peu long ? et avoir un refresh d'une partie d'un écran ?
    ProgressBar, PartialUpdate...

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/01/2006, 15h42
  2. expiration du délai, comment augmenter le temps.
    Par JauB dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/12/2005, 18h38
  3. Message [expiration du délai]!
    Par JauB dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/12/2005, 15h49
  4. [MSDE]"Expiration du délai..." lors de grosse supp
    Par trotters213 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/03/2005, 20h24
  5. expiration du délai pour une page
    Par yahia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 21/06/2004, 12h03

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