Chapter 3 Guide de référence du SGBD
Lors du reverse engineering, PowerAMC exécute des requêtes permettant d'extraire des informations des colonnes des tables système. Le résultat d'une requête est mis en correspondance avec les variables internes PowerAMC via l'en-tête de la requête. Lorsque les tables système d'un SGBD stockent des informations dans des colonnes avec LONG, BLOB, TEXT et d'autres types de données incompatibles, il est impossible de concaténer ces informations dans une chaîne.
Vous pouvez contourner cette limitation en créant des requêtes définies par l'utilisateur et des variables définies par l'utilisateur dans les requêtes de reverse engineering existantes. Ces requêtes sont également appelées requêtes étendues.
Lors du reverse engineering, les requêtes sont exécutées pour évaluer les variables et créer une instruction de chaîne. Lorsque l'en-tête de requête contient le mot clé EX, cela signifie que le résultat de la requête contient des requêtes et variables définies par l'utilisateur.
Par exemple :
select '%UserDefinedQueryName.UserDefinedVariableName%' || i.indexname from...
Ces variables définies par l'utilisateur seront évaluées par des requêtes séparées définies par l'utilisateur.
Les graphiques suivants illustrent le processus d'évaluation de variable lors du reverse engineering :
Une requête est exécutée pour évaluer les variables dans un jeu d'instructions de chaîne.
Si les variables contiennent des requêtes et variables définies par l'utilisateur, la requête définie par l'utilisateur est exécutée pour évaluer les variables définies par l'utilisateur. Ces variables définies par l'utilisateur sont créées pour être remplies de données provenant des colonnes de type de données LONG/BLOB/TEXT....
Vous pouvez créer des requêtes définies par l'utilisateur dans une requête de reverse engineering ODBC. Assurez-vous d'utiliser le même nom de variable dans ces requêtes et dans les requêtes définies par l'utilisateur. Dans le cas contraire, les variables ne seront pas évaluées.
Vous devez également vérifier l'unicité des noms de variable si vous souhaitez que toutes les variables soient évaluées lors de l'exécution de la requête.
L'en-tête d'une requête utilisateur contient des noms de variable internes qui ne seront pas évaluées. En revanche, les règles de conversion pour les valeurs exprimées entre crochets (like (0="", *=",")) peuvent être utilisées lors de la concaténation de chaîne.
L'exécution de la requête définie par l'utilisateur doit générer un jeu de résultats numérotés contenant autant de paires de variable définie par l'utilisateur (sans %) et de valeur de variable que nécessaire, s'il existe des variables à évaluer.
Par exemple, dans le jeu de résultats suivant, la requête a renvoyé trois lignes et 4 colonnes par ligne :
Variable 1 | 1 | Variable 2 | 2 |
---|---|---|---|
Variable 3 | 3 | Variable 4 | 4 |
Variable 5 | 5 | Variable 6 | 6 |
Les noms des variables définies par l'utilisateur sont remplacés par leurs valeurs.
Les sections suivantes expliquent les requêtes utilisateur définies pour remédier aux limitations du reverse engineering.
Copyright (C) 2005. Sybase Inc. All rights reserved. |
![]() |