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

Outils SQL Server Discussion :

[OSQL] Time out et code retour


Sujet :

Outils SQL Server

  1. #1
    Invit�
    Invit�(e)
    Par d�faut [OSQL] Time out et code retour
    Bonjour,

    J'ai un petit soucis avec OSQL (pour l'instant je ne pouvais pas vraiment utiliser SQLCMD, mais d'apr�s mes tests, �a ne r�soudrait pas mon probl�me).

    Le contexte... J'effectue un appel OSQL via un script batch. Afin que �a ne risque pas de bloquer le serveur SQL, j'ai pr�cis� un timeout pour la requ�te � l'aide de l'option "-t", que j'ai fix� � 10min.

    Mon probl�me... Le hic, c'est que quand OSQL arrive au timeout, il interrompt la requ�te et termine en renvoyant... 0, soit l'ERRORLEVEL qui correspond � un traitement correctement termin�. Seulement voil�, si on est arriv� au timeout, le traitement ne s'est pas correctement termin�, les donn�es en sortie ne seront pas celles attendues mais un message indiquant l'expiration du d�lai d'ex�cution. �a ne m'arrange donc pas du tout ce 0 en retour.

    Ma question... Est-ce qu'il y a un moyen de savoir que OSQL a interrompu la requ�te � cause du timeout ? (Sans aller lire le message renvoy� bien s�r parce que tout �a est automatis� et qu'on ne peut pas pr�voir exactement le format du message)

    Merci d'avance � ceux qui pourraient m'aider !

  2. #2
    Invit�
    Invit�(e)
    Par d�faut
    Personne n'a une id�e ? Personne n'a rencontr� ce probl�me ?
    D�sol�e de reposter, je sais qu'en plus c'est les f�tes, mais ce probl�me est assez... probl�matique

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par d�faut
    Bonjour,

    (Sans aller lire le message renvoy� bien s�r parce que tout �a est automatis� et qu'on ne peut pas pr�voir exactement le format du message)
    Et pourquoi pas ? Je pense que capturer la presence du mot-cl� "Query timeout expired" dans le fichier out est une bonne solution, le code retour d'OSQL ne concernant qu'OSQL lui-m�me, pas celui du SQL execut�. Avec FIND par exemple ? Le message de timeout est invariable. Et puis si vous trouvez le mot cl� Msg dans ta sortie, il y a de fortes chances que tu aies eu une erreur �galement.

    bonne chance !

  4. #4
    Invit�
    Invit�(e)
    Par d�faut
    Bonjour !

    Merci pour ta r�ponse !
    "Le message de timeout est invariable." ... Certes, enfin, �a d�pend encore de la langue param�tr�e, peut-�tre de la version SQL Server... En tout cas, aucun point communs entre le message d'erreur en fran�ais et le message d'erreur en Anglais. Le coup du MSG c'est moyen aussi, parce que �a pourrait tr�s bien se retrouver dans les donn�es "normales" renvoy�es par mon appel.
    Par ailleurs, si le code retour concerne OSQL, je trouve bizarre qu'il m'indique que tout s'est bien pass� alors qu'en fait, il a interrompu son appel... m'enfin...

    Va falloir que je r�ussisse � bidouiller un truc un peu bancal et j'aime pas trop �a... Mais bon, si quelqu'un passe par l� et a une id�e super, je prends !

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par d�faut
    je suis bien d'accord pour le code retour, c'est dommage de ne pas pouvoir faire qqch de propre.

    En dernier recours tu peux rediriger les messages serveur dans un fichier different de celui qui re�oit le resultat de la requ�te, en utilisant le -r 1.
    Si ton fichier d'erreur est vide, �a s'est bien pass� sinon erreur.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    osql -i fic.sql -o result.out -r 1 > error.txt 2<&1

  6. #6
    Invit�
    Invit�(e)
    Par d�faut
    J'avais essay� de faire sortir les erreurs sur un fichier � part, mais je n'avais pas r�ussi... Je vais r�essayer, ce serait une solution qui m'irait assez bien ! Ta syntaxe me semble un peu diff�rente de ce que j'avais essay�, j'ai donc peut-�tre une chance !

    Merci encore !

Discussions similaires

  1. R�ponses: 0
    Dernier message: 06/06/2014, 11h39
  2. [MySQL] Erreur time out code
    Par Anthony_ dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 11/01/2010, 15h33
  3. [Session]ma�triser le time out de la session
    Par croquedur dans le forum Servlets/JSP
    R�ponses: 8
    Dernier message: 23/10/2007, 10h57
  4. code retour UNIX sur erreur ORA
    Par vinz_07 dans le forum Administration
    R�ponses: 7
    Dernier message: 25/08/2004, 11h04
  5. [commande DOS] R�cup�rer le code retour d'un programme
    Par bobunny dans le forum Scripts/Batch
    R�ponses: 8
    Dernier message: 04/06/2004, 15h51

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