Définition d'une commande SQL. SAP Enterprise 4.1 Support Package 1
Connexion aux sources de données et requêtes
MYTABLE.'STATE',
MYTABLE.'ZIPCODE'
6.4.3 Définition d'une commande SQL
Si la base de données que vous utilisez prend en charge un langage de requête tel que SQL, vous pouvez écrire votre propre commande qui sera représentée dans Crystal Reports sous la forme d'un objet table. Cela permet aux utilisateurs de bases de données de garder le contrôle total sur le traitement de données qui fait l'objet d'un empilage sur le serveur de base de données. Un utilisateur expérimenté en matière de bases de données et de langage SQL peut écrire une commande optimisée qui peut réduire considérablement la taille de l'ensemble de données renvoyé par le serveur.
Vous pouvez écrire votre propre commande à l'aide du nœud "Ajouter une commande" dans la boîte de dialogue "Choisir une connexion à une source de données" pour créer une table virtuelle qui représentera les résultats du traitement de la commande.
Lorsque vous utilisez une table virtuelle qui a été créée en tant que commande, Crystal Reports ne modifie pas la syntaxe du code SQL soumis au serveur (en d'autres termes, il n'ajoute pas automatiquement de guillemets ou de caractères d'échappement). Ce comportement s'applique
également aux paramètres utilisés dans les commandes. Vous devez par conséquent ajouter les guillemets et les caractères d'échappement nécessaires à votre pilote de base de données.
Remarque :
• Certains des pilotes de base de données natifs de Crystal Reports ne prennent pas en charge la fonction "Ajouter une commande" :
• DB2 Server
• Sybase Server
• Informix Online Server
• La fonction "Ajouter une commande" est vulnérable aux attaques par injection SQL.
De nombreuses pages Web utilisent l'injection SQL pour insérer des paramètres utilisateur dans les requêtes SQL exécutées sur la base de données relationnelle. Par exemple, une page Web de connexion utilise un nom d'utilisateur et un mot de passe et exécute une injection SQL dans la base de données pour authentifier les informations. Un pirate peut insérer une valeur dans le champ du nom d'utilisateur ou du mot de passe pour modifier la requête SQL s'exécutant sur la base de données à des fins malhonnêtes.
6.4.3.1 Création d'une table de commandes
1.
Connectez-vous à votre source de données.
151 2013-09-19
Connexion aux sources de données et requêtes a.
Dans le panneau "Explorateur de données", cliquez sur Modifier les sources de données.
La boîte de dialogue "Choisir une connexion à une source de données" s'affiche.
b.
Sélectionnez votre source de données et, si nécessaire, connectez-vous.
2.
Dans la section "Tables disponibles", cliquez sur Ajouter une commande.
La boîte de dialogue "Sélectionner une connexion" apparaît.
3.
Sélectionnez votre connexion, puis cliquez sur OK.
La boîte de dialogue "Ajouter une table de commandes" s'affiche.
4.
Saisissez une commande/requête appropriée pour la source de données que vous avez ouverte.
Par exemple :
SELECT
Customer.`Customer ID`,
Customer.`Customer Name`,
Customer.`Last Year's Sales`,
Customer.`Region`,
Customer.`Country`,
Orders.`Order Amount`,
Orders.`Customer ID`,
FROM
Orders.`Order Date`
Customer Customer INNER JOIN Orders Orders ON
Customer.`Customer ID` = Orders.`Customer ID`
WHERE
(Customer.`Country` = 'USA' OR
Customer.`Country` = 'Canada') AND
Customer.`Last Year's Sales` < 10000.
ORDER BY
Customer.`Country` ASC,
Customer.`Region` ASC
Remarque :
L'utilisation des guillemets ou des guillemets simples (et de toute autre syntaxe SQL) est déterminée par le pilote de base de données utilisé par votre rapport. Cependant, vous devez ajouter manuellement les guillemets et d'autres éléments de syntaxe lorsque vous créez la commande.
5.
Vous pouvez créer un paramètre pour votre commande en cliquant sur Créer et en saisissant des informations dans la boîte de dialogue "Créer un paramètre".
Pour en savoir plus sur la création des paramètres, voir
Création d'un paramètre pour une table de commandes .
6.
Cliquez sur OK.
Vous revenez alors au Report Designer. Dans l'Explorateur de données, la table de commandes qui s'affiche répertorie les champs de base de données que vous avez spécifiés.
Remarque :
• Pour créer la table virtuelle à partir de votre table Commandes, la commande doit être exécutée une fois. Si la commande possède des paramètres, vous serez invité à saisir des valeurs pour chacun d'eux.
• Par défaut, votre commande s'intitule SQL_Command. Vous pouvez modifier cet alias en cliquant avec le bouton droit de la souris et en sélectionnant Modifier la table.
152 2013-09-19

Public link updated
The public link to your chat has been updated.