Exécution de requêtes SQL avec le client de requête de base de données

Un System Implementer (SI) peut utiliser le client IBM DB Query Client pour interroger une base de données distante de manière sécurisée à la demande à des fins de test, de développement et de traitement des incidents. L'instance de service peut exécuter une requête SQL, exporter une requête, afficher les dernières requêtes exécutées et exporter les résultats de la requête.

Si la base de données contient des données compressées, le client de requête de base de données décompresse les données compressées et les affiche dans le résultat ou exporte les données.

Avant de commencer

  • Utilisez un navigateur qui prend entièrement en charge HTML5.
  • Pour Microsoft Internet Explorer, le client de requête de base de données est pris en charge sur Internet Explorer, version 11. Par conséquent, veillez à définir l'émulation à 11 ou à une valeur supérieure à 10.
    Pour configurer l'émulation, procédez comme suit:
    1. Dans Internet Explorer, appuyez sur la touche F12 , connectez-vous à DB Query Client, puis ouvrez Developer tools.
    2. Cliquez sur Emulation et sélectionnez le mode de document 11 ou supérieur à 10.
    3. Revenez au client de requête de base de données. Vous pouvez maintenant utiliser la pagination pour le résultat de la requête.
    Ne fermez pas les outils de développement, s'ils sont déjà ouverts. Laissez-le s'exécuter en arrière-plan.

Procédure

Pour exécuter des requêtes SQL avec le client de requête de base de données, procédez comme suit:

  1. Démarrez le client de requête de base de données à l'aide de l' URLsuivante:
    https://<hostname:port>/smcfs/yfshttpdbi/sterlingdbqueryclient.jsp
  2. Entrez l' ID utilisateur et le mot de passe. L'authentification d'utilisateur est valide jusqu'à l'expiration de la session en cours ou jusqu'à la fermeture de la session en cours. Si la session de navigateur en cours expire, vous pouvez entrer vos données d'identification de connexion et exécuter des requêtes sur la même page.
  3. Entrez une requête SQL dans Entrer une requête SQLet cliquez sur Exécuter la requête.

    Dans la zone Nombre de lignes , indiquez le nombre de lignes à afficher par page. Par défaut, la valeur est définie sur 100. Si vous entrez une valeur supérieure, la pagination est automatiquement activée. Vous pouvez spécifier une valeur maximale de 10000 lignes à afficher par page.

    • Ordonnez le résultat de la requête par colonne chaque fois que DISTINCT est utilisé avec la clause SELECT .
    • DISTINCT vous permet d'exécuter la requête suivante:
      select distinct <organization_code> from yfs_item where 1=1;
      Remarque: pour la requête DISTINCT avec la colonne de clé primaire non sélectionnée, la pagination n'est pas prise en charge. Par défaut, la valeur est définie sur 100. Toutefois, si vous souhaitez afficher plus d'enregistrements, augmentez la taille de la page. Un maximum de 10000 enregistrements peuvent être affichés.
    • Les requêtes qui contiennent des fonctions d'agrégation telles que les clauses UNION, INTERSECTou WITH ne sont pas prises en charge par la pagination. Ces requêtes s'exécutent en mode non paginé. Toutefois, si vous souhaitez afficher plus d'enregistrements, augmentez la taille de la page jusqu'à une limite maximale de 10000 enregistrements.
    Remarque :
    • Vous ne pouvez pas interroger les tables qui contiennent des données sensibles ou non pertinentes ou qui ne contiennent pas de données métier.
    • Vous ne pouvez pas exécuter de requêtes qui modifient les tables.
    Voici quelques exemples de requêtes:
    
    select * from yfs_resource fetch first 10 rows only;
    select * from yfs_resource_permission fetch first 10 rows only;
    select * from yfs_user fetch first 10 rows only;
    • Les tables de requête classent le résultat par colonne non primaire. Exemple :
      select * from yfs_user order by loginid fetch first 10 rows only;
    • Créez des jointures à l'aide de sous-requêtes. Exemple :
      
      select u.user_key, ug.USERGROUP_KEY, u.loginid, ug. USERGROUP_NAME from (SELECT * FROM
      omdb.YFS_USER)  as u RIGHT OUTER JOIN (SELECT * FROM omdb.YFS_USER_GROUP) as ug ON
      u.USERGROUP_KEY = ug.USERGROUP_KEY fetch first 10 rows only;
    • Utilisation de la requête d'alias de colonne. Par exemple : select order_no as Docket from yfs_order_header;

    • Extrayez les informations d'index des tables à l'aide d'instructions describe . Par exemple, describe table YFS_USER;. Cette requête renvoie uniquement les détails de schéma de table de base tels que le type de données, null ou non null, et non les informations d'index. Toutefois, vous pouvez exécuter describe indexes for table YFS_USER pour extraire les détails d'index de la table.

    • Interroger les tables du schéma SYSCAT. Vous pouvez interroger les tables suivantes à partir du schéma SYSCAT:
      • SCHEMATA
      • TABLES-Lors de l'interrogation de cette table, il est recommandé d'ajouter une clause WHERE avec tabschema ='OMDB'
      • VIEWS-Lors de l'interrogation de cette table, il est recommandé d'ajouter une clause WHERE avec viewschema ='OMDB'
      • COLUMNS-Lors de l'interrogation de cette table, il est recommandé d'ajouter une clause WHERE avec tabschema ='OMDB'
      • INDEXES-Lors de l'interrogation de cette table, il est recommandé d'ajouter une clause WHERE avec tabschema ='OMDB'
      • TABCONST-Lors de l'interrogation de cette table, il est recommandé d'ajouter une clause WHERE avec tabschema ='OMDB'

      Par défaut, en mode non paginé, seuls les 100 premiers enregistrements sont affichés. Si vous souhaitez afficher d'autres enregistrements, dans le client de requête de base de données, indiquez le nombre total d'enregistrements à afficher.

    Autres méthodes d'exécution des requêtes
    • Cliquez sur Last run queries pour afficher toutes les requêtes que vous avez exécutées précédemment. Les 100 dernières requêtes précédemment exécutées sont sauvegardées et 10 requêtes sont affichées par page. Vous pouvez exécuter une requête à partir de la liste.
    • Dans la zone Rechercher des requêtes , entrez les termes appropriés, tels que les mots clés de requête ou les noms de table, pour rechercher votre requête, puis cliquez sur Exécuter la requête. Par exemple, les termes recherchés peuvent être YFS_USER, SELECT. Vous pouvez également faire défiler la liste et cliquer sur Suivant ou Précédent pour rechercher votre requête.
    • Importation et exécution d'une requête.
    Remarque :
    • Si vous ne terminez pas une requête par un point-virgule, elle est ajoutée en interne.
    • Par défaut, la pagination est activée. Si un problème se produit pour certaines requêtes, la mise en page est automatiquement désactivée et le résultat de la requête est affiché en fonction du nombre de lignes saisies.
    • En cas de problèmes de connectivité momentanés à la base de données, l'outil effectue trois nouvelles tentatives pour se connecter à la base de données. En cas d'échec, un message approprié s'affiche.
    • Le délai d'attente de la requête est de 2 minutes.
    Résultats :
    • Pour garantir des performances optimales dans l'environnement de production, seules les 100 premières lignes sont affichées pour les requêtes comportant des colonnes CLOB.
    • Pour les requêtes SQL comportant des colonnes CLOB, un maximum de 100 enregistrements sont affichés et peuvent être exportés.
    • Les colonnes BLOB sont affichées dans la sortie sous la forme --BLOB Data-- au lieu d'afficher une valeur de chaîne de l'objet binaire sur la page de résultats.
    • L'outil renvoie les codes d'erreur SQL exacts afin que les utilisateurs puissent comprendre ce qui ne va pas avec une requête. Par exemple, lorsque vous exécutez select * from YFS_USER_DETAILS, l'outil renvoie le message d'erreur suivant:
      Exception lors de l'exécution de la requête. Vérifiez la syntaxe de requête / les journaux du serveur.
      "OMDB.YFS_USER_DETAILS" est un nom non défini. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.69.49
  4. Facultatif: par défaut, la case Exporter les nombres sous forme de texte (uniquement pour l'affichage dans Microsoft Excel) est cochée. Pour exporter le résultat de votre requête dans un fichier CSV, désélectionnez la case à cocher, puis cliquez sur Exporter. Les résultats de la requête sont exportés vers un .csv. Par exemple, queryResult--2020-8-5-13-19-19.csv.

    Dans le fichier CSV, les nombres longs sont affichés au format exponentiel. Par exemple, 12345678901234567890 est représenté sous la forme 1.23457E+19.

    Pour exporter vos résultats de requête dans un fichier CSV en lecture seule , cochez la case Exporter les nombres sous forme de texte (uniquement pour les afficher dans Microsoft Excel) . Par exemple, queryResult--2020-8-5-13-19-19_view-only-on-ms-excel.csv.

    Le fichier CSV ne peut être ouvert que dans Microsoft Excel. Dans le fichier CSV exporté, une apostrophe (') est préfixée pour les nombres supérieurs à 11 chiffres afin que les nombres entiers soient affichés sous forme de texte dans Microsoft Excel. Toutefois, les nombres de moins de 11 chiffres sont affichés sous forme d'entiers et ne contiennent pas d'apostrophe. Pour les nombres qui contiennent des zéros non significatifs, Microsoft Excel tronque les zéros et n'affiche que les nombres. Par exemple, "0001" est affiché sous la forme "1".

Etape suivante

Ouvrez le fichier CSV en lecture seule dans Microsoft Excel en procédant comme suit:
  1. Ouvrez Microsoft Excel.
  2. Dans le menu Données , cliquez sur A partir du texte > Importer.
  3. Choisissez le type de données Délimité.
  4. Sélectionnez Unicode (UTF-8) dans la liste Origine du fichier .
  5. Choisissez le délimiteur Comma.
  6. Cliquez sur Fin.