Fenêtre contextuelle pour la requête SQL qui donne un retour à l'utilisateur sur le nombre de lignes récupéréesJe travaille dans JMP 18. J'ai du mal à recréer ce que je pensais être une fonctionnalité lors de l'extraction de données à partir d'une base de données.
Je travaille dans un workflow, et la première étape consiste à extraire des données d'une de nos bases de données internes. Le JSL a été extrait directement du générateur de requêtes.
Le comportement souhaité est que l'utilisateur exécute l'étape et, pendant l'exécution de la requête (cela prend quelques minutes), une fenêtre s'affiche pour indiquer le nombre de lignes récupérées. Le workflow doit attendre que la requête soit terminée et que la table de sortie soit disponible avant de continuer. Je n'ai pas réussi à afficher la fenêtre contextuelle, même si je me souviens que cela fonctionnait auparavant. Voici ce que j'ai essayé :
1. Utilisez « exécuter au premier plan » : l'exécution et le flux de travail continuent une fois la requête terminée, mais « gèle » JMP pendant l'exécution de la requête.
2. Utilisez « exécuter en arrière-plan » : l'exécution ne se bloque pas, mais elle ne comporte pas de fenêtre contextuelle avec les lignes extraites et interrompt le flux de travail car elle tente de passer à l'étape suivante avant le chargement des données.
3. Utilisez « exécuter en arrière-plan » et ajoutez une boucle JSL qui vérifie si la requête est terminée avant de passer à l'étape suivante - elle s'exécute, ne se bloque pas et ne progresse dans le flux de travail qu'une fois la requête terminée, mais encore une fois, il n'y a aucun retour d'utilisateur montrant la fenêtre « lignes récupérées »
Automatisation et scriptsRé : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesAvec l'option trois, vous n'obtiendrez pas de lignes aussi « propres » récupérées, mais vous pourriez peut-être utiliser la fenêtre Exécution de requêtes
Main Menu("View:Running Queries");

Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesOui, j'y ai pensé, mais c'est un peu compliqué pour un outil que je développe pour une grande équipe… Tu connais la fenêtre « Récupérer les lignes » dont je parle ? Je n'arrive pas à la faire réapparaître, quoi qu'il arrive.
Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesJe suppose que vous parlez de celui-ci (je ne suis pas sûr qu'il soit possible de l'afficher lors de l'utilisation de << Exécuter en arrière-plan) :

Vous pouvez peut-être créer le vôtre en utilisant des requêtes en cours d'exécution et une nouvelle fenêtre personnalisée dans laquelle vous choisissez les valeurs de la fenêtre Requêtes en cours d'exécution et mettez à jour la fenêtre personnalisée à l'intérieur de votre boucle.
Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesOui ! C'est bien celui-là. Je n'ai pas besoin de l'exécuter en arrière-plan ; je peux l'exécuter en premier plan, mais même avec « Exécuter en premier plan », je n'obtiens pas la fenêtre de récupération des enregistrements et j'ai l'impression que JMP est complètement figé.
Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesCompris, il semble que comme la requête passe la plupart de son temps à ne pas récupérer les données, il se peut que la boîte de dialogue « récupérer les enregistrements » me manque ou qu'elle soit si courte (quelques milliers de lignes) qu'elle n'apparaît jamais.
Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesCela dépend généralement de votre requête SQL. Le démarrage de la récupération des données peut prendre un certain temps, tandis que d'autres phases de traitement sont en cours sur le serveur. JMP semble alors figé jusqu'à ce qu'il puisse commencer la récupération des données.
Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesJ'espère que @briancorcoran est la bonne personne chez JMP pour donner une explication correcte, mais ce n'est que mon hypothèse. J'exécute de nombreuses requêtes depuis JMP. Certaines mettent un certain temps (généralement les requêtes les plus complexes) à afficher la fenêtre, tandis que d'autres l'affichent immédiatement, probablement parce que la récupération démarre immédiatement grâce à un plan d'exécution plus simple.
Ré : Fenêtre contextuelle pour une requête SQL qui fournit un retour d'information à l'utilisateur sur le nombre de lignes récupéréesCourir au premier plan est la meilleure façon de le faire.
La barre de progression de la récupération des enregistrements apparaîtra automatiquement après quelques secondes lorsqu'il y a beaucoup de lignes à importer.
Par exemple, cette table contient plus de 600 000 lignes.

Il convient de noter que, dans la plupart des cas, la récupération d'enregistrements ne se limite pas à un seul enregistrement à la fois. JMP peut souvent récupérer, par exemple, 500 enregistrements à la fois.