DBLOOKUP

La fonction DBLOOKUP exécute une instruction SQL sur une base de données.

L'instruction SQL peut être toute instruction admise par le système de gestion de base de données ou le pilote ODBC.

Lorsque la fonction DBLOOKUP est utilisée dans une mappe, l'action Sur réussite par défaut est spécifique à l'adaptateur. L'action Sur échec par défaut doit annuler toute modification effectuée pendant le traitement de la mappe. L'Etendue par défaut est intégrale sauf si la mappe est définie pour s'exécuter par unités (ce qui est le cas lorsque la propriété Extraire en tant que d'une ou plusieurs entrées est définie par Unité).

Deux méthodes permettent de spécifier des arguments pour DBLOOKUP.

Vous pouvez utiliser DBLOOKUP pour exécuter une instruction SQL lorsque vous souhaitez exécuter une instruction SELECT pour extraire une valeur de colonne spécifique d'une table volumineuse dans une base de données à l'aide de la valeur d'une autre entrée plutôt qu'en définissant la totalité de la table en tant que carte en entrée et en utilisant les fonctions LOOKUP, SEARCHDOWN, ou SEARCHUP.

Vous pouvez utiliser DBLOOKUP pour exécuter une instruction SQL lorsque vous souhaitez exécuter une instruction SELECT pour extraire une valeur de colonne spécifique d'une table ou d'une base de données pouvant varier en fonction d'un fichier de paramètres. L'utilisation 2 de la fonction DBLOOKUP permet de spécifier dynamiquement ces paramètres en phase d'exécution.

Syntaxe :
DBLOOKUP ( expression-texte-unique, expression-texte-unique, [ littéral-texte-unique ] )
Signification :
  1. DBLOOKUP ( instruction_SQL, nomfichier_mdq, nom_bdd )
  2. DBLOOKUP ( instruction_SQL , paramètres )
Renvoie :
Un élément texte unique

La fonction DBLOOKUP renvoie les résultats de la requête au même format qu'une requête spécifiée pour une carte en entrée de mappe, à la différence qu'elle n'inclut pas le dernier retour chariot/nouvelle ligne. Etant donné que ces informations sont supprimées, il est plus facile d'utiliser une valeur unique extraite d'une base de données.

Arguments pour l'utilisation 1

DBLOOKUP ( instruction_SQL, nomfichier_mdq, nom_bdd )

  • instruction_SQL

    Le premier argument est une instruction SQL au format chaîne de texte. Il peut s'agir de toute instruction SQL valide, admise par le système de gestion de base de données et prise en charge par le pilote spécifique de la base de données. Outre une instruction SQL fixe, cet argument peut être une concaténation de littéraux de texte et d'objets données, ce qui permet la concaténation de valeurs de données dans l'instruction SQL.

  • nomfichier_mdq

    Le second argument est le nom d'un fichier de requête de base de données (.mdq) produit par Database Interface Designer. Il contient la définition de la base de données sur laquelle l'instruction SQL doit être exécutée. Si le fichier .mdq se trouve dans un répertoire différent du répertoire de la mappe, le chemin d'accès doit être spécifié.

    Remarque : L'accès au fichier .mdq est effectué en phase de construction de la mappe et le fichier est inutile en phase d'exécution.
  • database_name

    Le troisième argument est le nom d'une base de données dans le fichier de requête de base de données (.mdq) tel qu'il est défini dans Data Interface Designer.

    Dans cette méthode, le nom du fichier .mdq et le nom de la base de données doivent être des littéraux.

Arguments pour l'utilisation 2

DBLOOKUP ( instruction_SQL , paramètres )

  • instruction_SQL

    Le premier argument est une instruction SQL au format chaîne de texte. Il peut s'agir de toute instruction SQL valide, admise par le système de gestion de base de données et prise en charge par le pilote spécifique de la base de données. Outre une instruction SQL fixe, cet argument peut être une concaténation de littéraux de texte et d'objets données, ce qui permet la concaténation de valeurs de données dans l'instruction SQL.

  • parameters

    Le second argument est un ensemble de paramètres, soit :

    • -MDQ nomfichiermdq -DBNAME nombdd

      -ou-

    • -DBTYPE type_bdd [paramètres spécifiques à la base de données]

      Le mot clé -MDQ est suivi du nom du fichier de requête de base de données (.mdq) produit par Database Interface Designer. Le fichier .mdq contient la définition de la base de données. Si le fichier .mdq se trouve dans un répertoire différent du répertoire de la mappe, le chemin d'accès doit être spécifié. Le nom de fichier .mdq est suivi du mot clé -DBNAME et du nom de la base de données comme indiqué dans Database Interface Designer.

      Cette syntaxe permet d'accéder au fichier .mdq en phase d'exécution ; ce fichier doit exister.

      Le mot clé -DBTYPE est suivi d'un mot clé spécifiant le type de base de données (par exemple, ODBC ou ORACLE) suivi éventuellement des paramètres spécifiques de la base de données.

      Cette syntaxe n'utilise pas de fichier .mdq car les paramètres spécifiques de la base de données fournissent les informations nécessaires à la connexion à la base de données. Voir la documentation Adaptateurs de ressources pour plus de détails sur les paramètres spécifiques de la base de données pouvant être indiqués.

Avec l'utilisation 2, la fonction DBLOOKUP doit respecter les règles suivantes :

  • Tous les mots clés (par exemple, -DBTYPE) doivent être en majuscules ou en minuscules et la casse ne peut pas être mixte.
  • Un espace est requis entre le mot clé et sa valeur (par exemple, -DBTYPE ODBC).
  • L'ordre des mots clés n'est pas important.

    Tous les paramètres spécifiques de la base de données sont facultatifs.

Exemples

Considérons que vous disposez d'une table nommée "PARTS" contenant les données suivantes :
REFERENCE_PIECE NOM_PIECE
1 Boulon 1/4" x 3"
2 Boulon 1/4" x 4"

Considérons que cette base de données a été définie à l'aide de Database Interface Designer dans un fichier nommé test.mdq et que le nom de la base de données, tel qu'il spécifié dans le fichier .mdq, est BD_Pièces.

  • DBLOOKUP ( "SELECT PART_NAME from PARTS where PART_NUMBER =1", "mytest.mdq", "PartsDB")

    Renvoie : Boulon ¼" x 3"

L'utilisation 2 vous permet de spécifier la fonction DBLOOKUP de la façon suivante :

  • DBLOOKUP( "SELECT PART_NAME from PARTS where PART_NUMBER =1", "-MDQ mytest.mdq -DBNAME PartsDB" )

    où le nom du fichier .mdq et le nom de la base de données sont spécifiés.

L'utilisation 2 vous permet également de spécifier le type de la base de données et les paramètres spécifiques de la base de données appropriés :

  • DBLOOKUP( "SELECT PART_NAME from PARTS where PART_NUMBER =1" , "-DBTYPE ORACLE -CONNECT MyDB -USER janes " )

Fonctions associées

  • DBQUERY
  • EXTRACT
  • FAIL
  • LASTERRORCODE
  • LASTERRORMSG
  • LOOKUP
  • SEARCHDOWN
  • SEARCHUP
  • VALID

Pour plus d'exemples sur l'utilisation de la fonction DBLOOKUP, consultez la documentation Database Interface Designer.