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

JDBC Java Discussion :

[SQL Server] Possibilité d'avoir un callback sur une longue procédure ?


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [SQL Server] Possibilité d'avoir un callback sur une longue procédure ?
    Bonjour,

    J'ai un système de procédure qui me permet de faire des backup et restore de différentes bases. En les lançant directement avec SQL Server avec l'option STATS sur un RESTORE, on peut voir l'avancement (STATS = 10 nous affiche un état d'avancement tous les 10%) :
    Restoring XXXX with XXXXXXXXXXX.bak file.
    10 percent processed.
    20 percent processed.
    30 percent processed.
    40 percent processed.
    50 percent processed.
    60 percent processed.
    70 percent processed.
    80 percent processed.
    90 percent processed.
    100 percent processed.

    Existe-t-il un moyen de récupérer cet état d'avancement lorsque j'exécute ma procédure via java et pas seulement à la fin, pour fournir à l'utilisateur une progress bar sur l'avancement de son restore ? J'ai des backups qui prennent plus de 10 minutes, ça serai bien de voir sur l'IHM qu'il se passe quelque-chose.

    De la même manière, est il possible de récupérer "au fil de l'eau" le contenu des prints effectués dans une procédure et pas seulement à la fin ?

    Merci d'éclairer ma lanterne et si ce n'est pas possible, me dire ce que vous ferriez si vous voyez un autre moyen.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    J'ai finalement trouvé un moyen : en interrogeant régulièrement le serveur avec cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete, dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
    FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
    WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')
    https://www.mssqltips.com/sqlservert...2005-and-2008/

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/06/2015, 07h52
  2. Réponses: 3
    Dernier message: 06/09/2009, 18h22
  3. [SQL SERVER 2k5]Trigger update instead of sur vue
    Par qlaimand dans le forum Développement
    Réponses: 0
    Dernier message: 18/06/2008, 17h06
  4. Réponses: 4
    Dernier message: 04/02/2008, 18h09
  5. Réponses: 2
    Dernier message: 30/08/2007, 23h03

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