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

WinDev Discussion :

Requête stockée exécutée dans une procédure stockée renvoie une erreur dans tâche planifiée


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Requête stockée exécutée dans une procédure stockée renvoie une erreur dans tâche planifiée
    Bonsoir,

    Voici la description du programme :
    J'ai créé une Requête stockée, 2 procédures stockées dans l'analyse.

    Dans la Procédure PROC2 :
    J'exécute la requête de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SI PAS HExécuteRequête(SQL_RequeteStockee) ALORS
    	RENVOYER "NonOk"
    sinon
            [travail de récupération des données de la requête stockée dans une chaine sBuffer]
     	RENVOYER sBuffer
    FIN

    Dans la Procédure PROC1 :
    PROC2 est appelée et le résultat de PROC2 (à savoir les données extraites de la requête stockée) est récupéré pour construire un message, ouvrir une session envoyer le message.

    Voici le problème :
    1) Si je teste la procédure stockée, aucun problème, le message est envoyé avec les données de la requête,
    2) Si j'appelle la procédure stockée dans le programme avec HExécuteProcédure(connection_encours,PROC1), pareil que 1 pas de problème,
    3) Si la procédure est lancée à partir d'une tâche planifiée l'exécution de la requête renvoie une erreur et donc le message envoyé est "NonOK".

    Question : Pourquoi la requête ne s'éxécute plus.

    Je remercie par avance tous ceux qui auront une petite idée du problème.

    Coridialement

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    Est-ce que la procédure stockée s'exécute session ouverte ou fermée dans la tâche planifiée ?
    Y a-t-il besoin d'un utilisateur particulier pour lancer la procédure ou bien n'importe quel utilisateur peut le faire ?
    Lors de la tâche planifiée, est-il possible de faire une simple lecture dans la base ?

    à bientôt,

    Nicolas

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,

    Tout d'abord merci d'avoir répondu.
    1)Est-ce que la procédure stockée s'exécute session ouverte ou fermée dans la tâche planifiée ?
    Comme je fais le test à partir du centre de controle hyperfilesql, et que je force l'exécution, je suis connectée à la base sur laquelle la requête est rattachée.

    Y a-t-il besoin d'un utilisateur particulier pour lancer la procédure ou bien n'importe quel utilisateur peut le faire ?
    Non pas d'utilisateur particulier.

    Lors de la tâche planifiée, est-il possible de faire une simple lecture dans la base ?
    Oui, je lis un fichier de la base après avoir fait une déclaration d'alias avec hdeclarexterne().

    Pour affiner le problème: dans le message d'erreur qui s'affiche lors de l'exécution de la tâche il est précisé : Aucune analyse n'est ouverte et le fichier <SQL_RequeteStockee> n'a pas été décrit.. Ce qui est étonnant c'est que ce message ne se produit dans les 2 autres cas cités.
    Merci et à bientôt

    Céline

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Dans la documentation il est écrit :

    •Pour utiliser la fonction HDéclareExterne dans une procédure stockée :•il faut donner le chemin relatif du fichier de données par rapport au répertoire de la base contenant la procédure stockée. Le chemin devra indiquer le nom et l'extension du fichier de données.
    •il ne faut pas utiliser de connexion : c'est la base en cours sur laquelle se trouve la procédure stockée qui sera utilisée.
    Est-ce le cas ou bien tu lances la procédure stockée après le HDeclare ? Dans ce cas, l'ensemble des tables utilisées est-il bien déclaré avant aussi ?

    Sinon, HListeElémentStocké te renvoie bien la liste des procédures dont celle que tu lances ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    J'ai dû mal m'exprimer : Le hdeclarexterne() est dans la procédure stockée.

    En gros la procédure est constituée ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FicAlias est source de données
    HdeclareExterne ("FicBase.fic",FicAlias)
    TANTQUE PAS HENDORS (FicAlias)
       [Traitement FicAlias)
     FIN
    Cette partie du code est OK
    HExécuteRequête(SQL_RequeteStockee,hRequêteSansCorrection)
    [Lecture de SQL_RequeteStockee]
    Renvoie l’erreur « Aucune analyse n'est ouverte et le fichier <SQL_RequeteStockee> n'a pas été décrit » lors de l’exécution de la tâche

    J'avais préalablement consulté la rubrique de la documentation que tu m'as précisée sans que je puisse y trouver une aide pour mon problème.
    Il ne faut pas oublier que cette procédure stockée appelée dans le code ne renvoie pas d'erreur c'est juste lors de l'exécution dans une tâche planifiée.

    Merci.

    Céline

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bon là je ne vois plus trop où regarder .... J'attends un camarade plus habitué à HFSQL pour t'aider !

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci tout de même pour ton aide.

    Cordialement

    Céline

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Septembre 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    La discussion date un peu mais je suis face au même problème que vous :

    Une erreur est survenue pendant l'exécution de la tâche planifiée.
    La description de la tâche est:
    Tâche planifiée créée par le Centre de Contrôle HFSQL le 15/09/2016.

    Détail de l'erreur:
    Appel WL :
    Traitement de 'Procédure stockée GenererCreneauPlanning' (ProceduresRDVEnLigne.GenererCreneauPlanning), ligne 30, thread 0
    Fonction 'HLitPremier', syntaxe 3

    Que s'est-il passé ?
    Aucune analyse n'est ouverte et le fichier <REQ_PersonnelTravaille> n'a pas été décrit.


    L'avez-vous résolu ?

    Merci d'avance pour votre aide.

Discussions similaires

  1. Requête pour compter le nombre de lignes d'une procédure stockée?
    Par toutounesan dans le forum Développement
    Réponses: 13
    Dernier message: 06/06/2012, 12h59
  2. [MySQL] Récupération d'une valeur à partir d'une procédure stockée
    Par spaukensen dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 22/03/2008, 12h14
  3. Réponses: 3
    Dernier message: 06/11/2007, 19h15
  4. Créer une variable varchar interne à une procédure stockée
    Par killysui dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/04/2006, 17h59
  5. Réponses: 4
    Dernier message: 01/07/2004, 19h15

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