28.06.2013 Views

IBM Cognos Framework Manager Version 10.2.0 - Guide d'utilisation

IBM Cognos Framework Manager Version 10.2.0 - Guide d'utilisation

IBM Cognos Framework Manager Version 10.2.0 - Guide d'utilisation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Lorsque la requête est générée, <strong>Framework</strong> <strong>Manager</strong> combine le code SQL de<br />

chaque sujet de requête qui utilise une connexion de source de données indiquée<br />

dans une seule requête. Cela permet d'améliorer les performances de la requête.<br />

Toutefois, étant donné que le code SQL est généré sous la forme d'une série de<br />

sous-requêtes, les requêtes SQL natives doivent se conformer aux restrictions<br />

placées par leur fournisseur de base de données sur les tables dérivées.<br />

Voici un exemple de code SQL natif qui renvoie une liste d'employés et de<br />

gestionnaires :<br />

SELECT<br />

lpad(’ ’, (level-1)* 4) ename<br />

EMP_CHART,<br />

level, empno, ename, job, mgr<br />

FROM<br />

emp<br />

CONNECT BY PRIOR<br />

empno = mgr<br />

AND<br />

deptno not in (20,30)<br />

START WITH<br />

mgr IS NULL<br />

ORDER BY<br />

level, job<br />

SQL direct<br />

Utilisez SQL direct lorsque l'instruction SQL entrée n'est pas valide dans une table<br />

dérivée. SQL direct vous permet d'utiliser SQL natif sans les restrictions imposées<br />

par la source de données aux sous-requêtes. En effet, les sujets de requête SQL<br />

directs ne sont pas traités en tant que sous-requêtes. Le code SQL correspondant à<br />

chaque sujet de requête est envoyé directement à la source de données dans<br />

laquelle les résultats de la requête sont générés.<br />

Les performances sont ralenties car chaque sujet de requête est envoyé à la source<br />

de données sous la forme d'une déclaration distincte au lieu d'être optimisé par<br />

<strong>IBM</strong> <strong>Cognos</strong> <strong>Framework</strong> <strong>Manager</strong>. Pour choisir entre SQL natif et SQL direct, vous<br />

devez donc décider ce qui est le plus important : les performances ou l'utilisation<br />

d'un code SQL qui n'est pas autorisé dans une sous-requête.<br />

En général, il est conseillé de n'utiliser SQL direct que lorsque vous devez créer un<br />

sujet de requête contenant une syntaxe qui est spécifique d'une source de données<br />

et ne peut pas être utilisée dans une table dérivée, comme dans une clause With ou<br />

OrderBy.<br />

Le code SQL spécifié dans <strong>Framework</strong> <strong>Manager</strong> et traité par la base de données,<br />

qu'il soit natif ou direct, doit être entièrement autonome. Il ne doit pas faire<br />

référence à des éléments externes à ce code SQL, par exemple, à des invites de<br />

base de données, des variables ou un formatage natif qui sont normalement<br />

fournis par l'application appelante.<br />

Voici un exemple de rapport orienté système qui contient la date système :<br />

SELECT<br />

TO_CHAR(SYSDATE, ’DAY, DDTH MONTH YYYY’)<br />

FROM<br />

108 <strong>IBM</strong> <strong>Cognos</strong> <strong>Framework</strong> <strong>Manager</strong> <strong>Version</strong> <strong>10.2.0</strong> - <strong>Guide</strong> <strong>d'utilisation</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!