CRTSQLCPPI
Créer un objet C++ ILE SQL
En bref
La commande CRTSQLCPPI (Créer un objet C++ ILE SQL) appelle le précompilateur SQL qui précompile le source C++ contenant les instructions SQL et crée un membre source temporaire.
CRTSQLCPPI se lit CRT
(Créer) + SQLCPPI.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CRTSQLCPPI OBJ(…)
Paramètres
-
OBJObjet obligatoire -
SRCFILEFichier source -
SRCMBRMembre source -
SRCSTMFFichier STREAM source -
COMMITContrôle de validation -
RDBBase de données relationnelle -
OUTPUTSortie liste -
TEXTTexte 'descriptif' -
USERUtilisateur RDB -
PASSWORDMot de passe utilisateur RDB -
OPTIONOptions de précompilation -
TGTRLSEdition cible -
INCFILEFichier INCLUDE -
INCDIRRépertoire SQL INCLUDE -
ALWCPYDTACopie des données admise -
CLOSQLCSRFermer le curseur SQL -
ALWBLKGroupage admis -
DLYPRPDifférer PREPARE -
CONACCRésolution accès simultanés -
GENLVLNiveau de gravité -
MARGINSMarges du source -
DATFMTFormat de date -
DATSEPSéparateur de date -
TIMFMTFormat d'heure -
TIMSEPSéparateur d'heure -
REPLACERemplacement -
RDBCNNMTHMéthode de connexion RDB -
DFTRDBCOLCollection par défaut -
DYNDFTCOLCollection par déf dynamique -
SQLPKGModule -
SQLPATHChemin SQL -
SQLCURRULERègles SQL -
SAAFLAGMarquage SQL IBM -
FLAGSTDMarquage ANS -
PRTFILEFichier imprimante -
DBGVIEWVue de débogage -
DBGENCKEYClé de chiffrement de débogage -
USRPRFProfil utilisateur -
DYNUSRPRFProfil utilisateur dynamique -
SRTSEQSéquence de tri -
LANGIDIdentificateur de langue -
CVTCCSIDCCSID de conversion -
TOSRCFILEVers le fichier source -
DECRESULTOptions de résultat décimal -
DECFLTRNDMode arrondi décimal virg flot -
COMPILEOPTOptions de compilation
Astuce : dans une session 5250, tapez CRTSQLCPPI puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSQL)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non
La commande CRTSQLCPPI (Créer un objet C++ ILE SQL) appelle le précompilateur SQL qui précompile le source C++ contenant les instructions SQL et crée un membre source temporaire. Elle appelle éventuellement le compilateur ILE C++ afin de créer un module.
Comme cette commande crée uniquement un module, l'utilisateur doit émettre la commande CRTSQLPKG une fois que la commande CRTPGM (Créer un programme) ou CRTSRVPGM (Créer un programme de service) a créé le programme si un module SQL est requis.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| OBJ | Objet | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: Objet | Nom | ||
| Qualificatif 2: Bibliothèque | Nom, *CURLIB | ||
| SRCFILE | Fichier source | Nom d'objet qualifié | Facultatif, positionnel 2 |
| Qualificatif 1: Fichier source | Nom, QCSRC | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| SRCMBR | Membre source | Nom, *OBJ | Facultatif, positionnel 3 |
| SRCSTMF | Fichier STREAM source | Chemin d'accès | Facultatif |
| COMMIT | Contrôle de validation | *CHG, *ALL, *CS, *NONE, *RR, *UR, *RS, *NC | Facultatif |
| RDB | Base de données relationnelle | Nom simple, *LOCAL, *NONE | Facultatif |
| OUTPUT | Sortie liste | *NONE, *PRINT | Facultatif |
| TEXT | Texte 'descriptif' | Valeur caractère, *SRCMBRTXT, *BLANK | Facultatif |
| USER | Utilisateur RDB | Nom, *CURRENT | Facultatif |
| PASSWORD | Mot de passe utilisateur RDB | Valeur caractère, *NONE, ' ' | Facultatif |
| OPTION | Options de précompilation | Values (jusqu'à 12 répétitions): *XREF, *NOXREF, *GEN, *NOGEN, *CNULRQD, *NOCNULRQD, *SQL, *SYS, *JOB, *SYSVAL, *PERIOD, *COMMA, *EVENTF, *NOEVENTF, *SECLVL, *NOSECLVL, *OPTLOB, *NOOPTLOB, *NOEXTIND, *EXTIND, *SYSTIME, *NOSYSTIME | Facultatif |
| TGTRLS | Edition cible | Nom simple, *CURRENT, *PRV | Facultatif |
| INCFILE | Fichier INCLUDE | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Fichier INCLUDE | Nom, *SRCFILE | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| INCDIR | Répertoire SQL INCLUDE | Chemin d'accès, *NONE | Facultatif |
| ALWCPYDTA | Copie des données admise | *OPTIMIZE, *YES, *NO | Facultatif |
| CLOSQLCSR | Fermer le curseur SQL | *ENDACTGRP, *ENDMOD | Facultatif |
| ALWBLK | Groupage admis | *ALLREAD, *NONE, *READ | Facultatif |
| DLYPRP | Différer PREPARE | *NO, *YES | Facultatif |
| CONACC | Résolution accès simultanés | *DFT, *CURCMT, *WAIT | Facultatif |
| GENLVL | Niveau de gravité | 0-40, 10 | Facultatif |
| MARGINS | Marges du source | Liste d'éléments | Facultatif |
| Élément 1: Marge de gauche | 1-32754, *SRCFILE | ||
| Élément 2: Marge de droite | 1-32754 | ||
| DATFMT | Format de date | *JOB, *USA, *ISO, *EUR, *JIS, *MDY, *DMY, *YMD, *JUL | Facultatif |
| DATSEP | Séparateur de date | *JOB, '/', '.', ',', '-', ' ', *BLANK | Facultatif |
| TIMFMT | Format d'heure | *HMS, *USA, *ISO, *EUR, *JIS | Facultatif |
| TIMSEP | Séparateur d'heure | *JOB, ':', '.', ',', ' ', *BLANK | Facultatif |
| REPLACE | Remplacement | *YES, *NO | Facultatif |
| RDBCNNMTH | Méthode de connexion RDB | *DUW, *RUW | Facultatif |
| DFTRDBCOL | Collection par défaut | Nom, *NONE | Facultatif |
| DYNDFTCOL | Collection par déf dynamique | *NO, *YES | Facultatif |
| SQLPKG | Module | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Module | Nom, *OBJ | ||
| Qualificatif 2: Bibliothèque | Nom, *OBJLIB | ||
| SQLPATH | Chemin SQL | Valeurs uniques: *NAMING, *LIBL Autres valeurs (jusqu'à 268 répétitions): Nom |
Facultatif |
| SQLCURRULE | Règles SQL | *DB2, *STD | Facultatif |
| SAAFLAG | Marquage SQL IBM | *NOFLAG, *FLAG | Facultatif |
| FLAGSTD | Marquage ANS | *NONE, *ANS | Facultatif |
| PRTFILE | Fichier imprimante | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Fichier imprimante | Nom, QSYSPRT | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| DBGVIEW | Vue de débogage | *NONE, *SOURCE, *STMT, *LIST | Facultatif |
| DBGENCKEY | Clé de chiffrement de débogage | Valeur caractère, *NONE | Facultatif |
| USRPRF | Profil utilisateur | *NAMING, *USER, *OWNER | Facultatif |
| DYNUSRPRF | Profil utilisateur dynamique | *USER, *OWNER | Facultatif |
| SRTSEQ | Séquence de tri | Valeurs uniques: *JOB, *HEX, *JOBRUN, *LANGIDUNQ, *LANGIDSHR Autres valeurs: Nom d'objet qualifié |
Facultatif |
| Qualificatif 1: Séquence de tri | Nom | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| LANGID | Identificateur de langue | Valeur caractère, *JOB, *JOBRUN | Facultatif |
| CVTCCSID | CCSID de conversion | 1-65534, *NONE, *JOB | Facultatif |
| TOSRCFILE | Vers le fichier source | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Vers le fichier source | Nom, *CALC | ||
| Qualificatif 2: Bibliothèque | Nom, QTEMP, *LIBL, *CURLIB | ||
| DECRESULT | Options de résultat décimal | Liste d'éléments | Facultatif |
| Élément 1: Précision maximale | 31, 63 | ||
| Élément 2: Echelle maximale | 0-63, 31 | ||
| Élément 3: Echelle de division minimale | 0-9, 0 | ||
| DECFLTRND | Mode arrondi décimal virg flot | *HALFEVEN, *HALFUP, *DOWN, *CEILING, *FLOOR, *HALFDOWN, *UP | Facultatif |
| COMPILEOPT | Options de compilation | Valeur caractère, *NONE | Facultatif |
Objet (OBJ)
Indique l'objet à créer.
C'est un paramètre obligatoire.
Qualificatif 1 : Objet
- nom
- Indiquez le nom de l'objet à créer.
Qualificatif 2 : Bibliothèque
- *CURLIB
- Le nouvel objet est créé dans la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
- nom
- Indiquez le nom de la bibliothèque où l'objet est créé.
Fichier source (SRCFILE)
Indique le fichier source contenant les instructions du source C++ et les instructions SQL.
Qualificatif 1 : Fichier source
- QCSRC
- Le fichier source QCSRC contient le programme source C++.
- nom
- Indiquez le nom du fichier source contenant le programme source C++.
Qualificatif 2 : Bibliothèque
- *LIBL
- La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
- *CURLIB
- La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
- nom
- Indiquez le nom de la bibliothèque sur laquelle doit s'effectuer la recherche.
Membre source (SRCMBR)
Indique le membre de fichier source contenant le source en entrée. Ce paramètre n'est utilisé que lorsque le fichier source indiqué au paramètre SRCFILE (Fichier source) est un fichier base de données.
- *OBJ
- Le membre de fichier source portant le même nom que la valeur indiquée pour le paramètre OBJ (Objet) contient le source en entrée.
- nom
- Indiquez le nom du membre du fichier source contenant le source en entrée.
Fichier STREAM source (SRCSTMF)
Indique le chemin d'accès au fichier contenant les instructions source C++ et les instructions SQL. Le chemin d'accès peut être absolu ou relatif.
Les lignes ne doivent pas comporter plus de 32754 caractères.
Contrôle de validation (COMMIT)
Indique si les instructions SQL du programme compilé sont exécutées sous contrôle de validation. Cette option n'a aucun effet sur les fichiers désignés par le source en langage hôte. Les seuls éléments affectés sont les tables SQL, vues SQL, modules SQL, séquences SQL, alias SQL, types SQL, procédures SQL, fonctions SQL, index SQL, schémas SQL et déclencheurs SQL désignés par les instructions SQL.
- *CHGou*UR
- Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Les modifications invalidées effectuées dans d'autres travaux peuvent être visualisées.
- *CS
- Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Une ligne sélectionnée mais non mise à jour est verrouillée jusqu'à la sélection de la ligne suivante. Vous ne pouvez pas visualiser les modifications invalidées effectuées dans d'autres travaux.
- *ALL ou *RS
- Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes sélectionnées, mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Vous ne pouvez pas visualiser les modifications invalidées effectuées dans d'autres travaux.
- *NONE ou *NC
- Le contrôle de validation n'est pas utilisé. Les modifications invalidées effectuées dans d'autres travaux peuvent être visualisées. Si l'instruction SQL DROP SCHEMA est incluse dans le programme, vous devez indiquer *NONE ou *NC. Si une base de données relationnelle est identifiée pour le paramètre Base de données relationnelle (RDB) et si cette base de données se trouve sur un système autre qu'un IBM i, il n'est pas possible d'indiquer *NONE ou *NC.
- *RR
- Indique les objets désignés par les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE ; les lignes sélectionnées, mises à jour, supprimées ou insérées sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction). Vous ne pouvez pas visualiser les modifications invalidées effectuées dans d'autres travaux. Toutes les tables désignées par les instructions SELECT, UPDATE, DELETE et INSERT sont exclusivement verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction).
Base de données relationnelle (RDB)
Indique le nom de la base de données relationnelle où doit être créé le module SQL.
- *LOCAL
- Le programme créé est un programme SQL réparti. Les instructions SQL auront accès à la base de données locale. Le module SQL n'est pas créé dans le cadre du processus de précompilation. La commande CRTSQLPKG (Créer un module SQL) peut être utilisée.
- *NONE
- Le module SQL n'est pas créé. L'objet programme n'est pas un programme réparti et la commande CRTSQLPKG (Créer un module SQL) ne peut pas être utilisée.
- nom
- Indiquez le nom de la base de données relationnelle dans laquelle le nouveau module SQL doit être créé. Le programme créé est un programme SQL réparti, même lorsque le nom de la base de données locale est indiqué. Les instructions SQL auront accès à la base de données locale.
Sortie liste (OUTPUT)
Indique si la liste de précompilation est générée.
- *NONE
- La liste de précompilation n'est pas générée.
- La liste de précompilation est générée.
Texte 'descriptif' (TEXT)
Indique le texte qui décrit brièvement le programme et ses fonctions.
- *SRCMBRTXT
- Le texte est extrait du membre du fichier source utilisé pour créer le programme. Si le fichier source est un fichier spoule en entrée ou un fichier unité, ce texte est à blanc.
- *BLANK
- Aucun texte n'est spécifié.
- 'description'
- Entrez un texte de 50 caractères maximum, entre apostrophes.
Utilisateur RDB (USER)
Indique le nom d'utilisateur envoyé au système éloigné au commencement de l'échange. Ce paramètre n'est valide que lorsque Base de données relationnelle (RDB) est spécifié.
- *CURRENT
- Le nom d'utilisateur associé au travail en cours est utilisé.
- nom
- Indiquez le nom d'utilisateur qui sera utilisé par le serveur de l'application.
Mot de passe utilisateur RDB (PASSWORD)
Indique le mot de passe à utiliser pour le système éloigné. Ce paramètre n'est valide que lorsque Base de données relationnelle (RDB) est spécifié.
- *NONE
- Aucun mot de passe n'est envoyé. Lorsque cette valeur est indiquée, vous ne pouvez pas spécifier de nom d'utilisateur au paramètre USER (Utilisateur RDB).
Remarque :La valeur *NONE revient à laisser à blanc la zone de mot de passe.
- mot-de-passe
- Entrez le mot de passe du nom d'utilisateur indiqué pour le paramètre Utilisateur RDB (USER).
Options de précompilation (OPTION)
Indique si une ou plusieurs des options suivantes sont utilisées lors de la précompilation du programme source C++. Si une option est indiquée plus d'une fois, ou si deux options sont en conflit, c'est la dernière option indiquée qui est utilisée.
Options de références croisées :
- *XREF
- Le précompilateur établit des références croisées entre les éléments du programme et les numéros des instructions qui font référence à ces éléments. Ces informations sont générées dans le cadre de la liste de précompilation.
- *NOXREF
- Le précompilateur n'établit pas de références croisées sur les noms.
Options de création de programme :
- *GEN
- Le précompilateur crée l'objet module.
- *NOGEN
- Le précompilateur n'appelle pas le compilateur C++. Aucun module n'est créé.
Options de symbole décimal :
- *JOB
- La représentation du séparateur décimal indiqué pour le travail lors de la précompilation est utilisée.
Remarque :Si QDECFMT indique que la valeur utilisée comme séparateur décimal est la virgule, les constantes numériques des listes (les clauses SELECT et VALUES, par exemple) doivent être séparées par une virgule suivies d'un espace. Par exemple, VALUES(1,1, 2,23, 4,1) est équivalent à VALUES(1.1,2.23,4.1) où le point représente le symbole décimal.
- *SYSVAL
- Le caractère utilisé comme symbole décimal dans les constantes numériques est déterminé par la valeur système QDECFMT. Ce symbole décimal (point) est également utilisé pour transtyper une valeur numérique en caractère.
Remarque :Si le caractère spécifié par QDECFMT est une virgule, toutes les constantes numériques d'une liste (comme par exemple dans les clauses SELECT ou VALUES) doivent être séparées par une virgule suivie d'un blanc. Par exemple, VALUES(1,1, 2,23, 4,1) est équivalent à VALUES(1.1,2.23,4.1) où le point représente le symbole décimal.
- *PERIOD
- Pour les constantes numériques utilisées dans les instructions SQL, le symbole décimal est représenté par un point. Ce symbole décimal (point) est également utilisé pour transtyper une valeur numérique en caractère.
- *COMMA
- Dans les constantes numériques, le symbole décimal est représenté par une virgule. Toutes les constantes numériques d'une liste (comme dans les clauses SELECT ou VALUES) doivent être séparées par une virgule suivie d'un blanc. Par exemple, VALUES(1,1, 2,23, 4,1) est équivalent à VALUES(1.1,2.23,4.1) où le point représente le symbole décimal.
Options de convention d'appellation :
- *SYS
- Indique que la convention d'appellation du système est utilisée (nom-bibliothèque/nom-fichier).
- *SQL
- Indique que la convention d'appellation SQL est utilisée (nom-schéma.nom-table).
Si une base de données relationnelle est identifiée pour le paramètre Base de données relationnelle (RDB) et si cette base de données se trouve sur un système autre qu'un IBM i, vous devez indiquer *SQL comme convention d'appellation.
Options de message de deuxième niveau :
- *NOSECLVL
- Les descriptions des textes de deuxième niveau ne sont pas ajoutées à la liste.
- *SECLVL
- Les textes de deuxième niveau contenant des données de remplacement sont ajoutés à la liste pour tous les messages.
Options de valeur NUL obligatoires :
- *NOCNULRQD
- Pour les variables hôte alphanumériques et graphiques en sortie, le caractère de fin NUL n'est pas renvoyé lorsque la longueur de la variable hôte est exactement identique à celle des données. Les variables hôte alphanumériques et graphiques en entrée ne requièrent pas un caractère de fin NUL.
- *CNULRQD
- Les variables hôte alphanumériques et graphiques en sortie contiennent toujours le caractère de fin NUL. S'il n'y a pas assez d'espace pour ce caractère, les données sont tronquées pour que ce dernier puisse être ajouté. Les variables hôte alphanumériques et graphiques en entrée requièrent un caractère de fin NUL.
Options d'optimisation LOB pour DRDA :
- *OPTLOB
- La première extraction d'un curseur détermine la façon dont ce dernier sera utilisé par les objets LOB et XML lors de toutes les extractions suivantes. Cette option s'applique tant que le curseur n'est pas fermé.
Si la première extraction utilise un releveur de coordonnées LOB ou XML pour accéder à une colonne LOB ou XML, aucune extraction suivante pour ce curseur ne peut placer cette colonne LOB ou XML dans une variable hôte LOB ou XML.
Si la première extraction place la colonne LOB ou XML dans une variable hôte LOB ou XML, aucune extraction suivante pour ce curseur ne peut utiliser un releveur de coordonnées LOB ou XML pour cette colonne.
- *NOOPTLOB
- Il n'existe aucune restriction concernant l'extraction d'une colonne dans un releveur de coordonnées LOB ou XML dans une variable hôte LOB ou XML. Cette option peut entraîner une dégradation des performances.
Options de création d'un fichier événements :
- *NOEVENTF
- Le compilateur ne produira pas de fichier d'événements destiné aux outils client.
- *EVENTF
- Le compilateur produit un fichier d'événements destiné aux outils client. Ce fichier sera créé comme membre du fichier EVFEVENT de votre bibliothèque objet. Les outils client utilisent ce fichier pour pour fournir un retour d'informations sur les erreurs intégré. Cette option est normalement indiquée par les outils client.
Remarque :Les outils client peuvent ne pas fonctionner correctement si cette option est utilisée et si OBJTYPE(*SRVPGM) est également spécifié. Les messages de faible gravité générés par le précompilateur ou le compilateur SQL peuvent être perdus par les outils client.
Options d'indicateurs étendus :
- *NOEXTIND
- La prise en charge des indicateurs étendus n'est pas activée.
- *EXTIND
- La prise en charge des indicateurs étendus est activée.
Options d'heure système :
- *SYSTIME
- Indique que les références aux tables temporelles de période système dans les instructions SQL statiques et dynamiques sont affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.
- *NOSYSTIME
- Indique que les références aux tables temporelles de période système dans les instructions SQL statiques et dynamiques ne sont pas affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.
Edition cible (TGTRLS)
Niveau d'édition du système d'exploitation sous lequel vous utiliserez l'objet en cours de création.
Lorsque vous indiquez une valeur pour l'édition-cible, le format VxRxMx vous permet de préciser le niveau d'édition, où Vx est la version, Rx, l'édition et Mx, le niveau de modification. Par exemple, V5R3M0 désigne la version 5, édition 3, modification 0.
Les valeurs admises dépendent de la version, de l'édition et du niveau de modification du système d'exploitation et sont modifiées à chaque nouvelle édition. Pour obtenir la liste des valeurs d'édition cible admises, appuyez sur F4 à l'invite de ce paramètre de commande.
- *CURRENT
- L'objet doit être utilisé sur un système d'exploitation au même niveau d'édition que celui en cours sur votre système. Il pourra également être utilisé sur un système équipé d'une édition suivante du système d'exploitation.
- *PRV
- L'objet sera utilisé sur la version précédente du système d'exploitation, au niveau de modification 0. Il pourra également être utilisé sur un système équipé d'une édition suivante du système d'exploitation.
- édition-cible
- Indiquez le niveau d'édition au format VxRxMx. L'objet pourra être utilisé sur un système équipé de l'édition indiquée ou de toute édition suivante.
Fichier INCLUDE (INCFILE)
Indique le fichier source contenant les membres à inclure dans le programme à l'aide de l'instruction SQL INCLUDE.
Valeurs uniques
- *SRCFILE
- Le fichier source qualifié que vous avez entré pour le paramètre SRCFILE (Fichier source) contient les membres de fichier source indiqués dans une instruction SQL INCLUDE.
Qualificatif 1 : Fichier INCLUDE
- nom
- Indiquez le nom du fichier source contenant les membres source indiqués dans les instructions SQL INCLUDE.
La longueur des enregistrements du fichier source indiqué ici ne doit pas être inférieure à celle du fichier source indiqué au paramètre SRCFILE (Fichier source).
Qualificatif 2 : Bibliothèque
- *LIBL
- La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
- *CURLIB
- La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
- nom
- Indiquez le nom de la bibliothèque dans laquelle est placé le fichier source.
Répertoire SQL INCLUDE (INCDIR)
Indique le chemin d'accès au répertoire contenant tout fichier à inclure dans le programme via l'instruction SQL INCLUDE.
Le fait d'indiquer une valeur pour ce paramètre ne permet pas de passer une valeur INCDIR depuis le précompilateur SQL vers le compilateur. Si vous souhaitez passer une valeur INCDIR vers le compilateur, utilisez le paramètre Options de compilation (COMPILEOPT).
- *NONE
- La recherche portera sur le répertoire de travail et sur le répertoire source.
- chemin-accès
- Chemin d'accès au répertoire contenant les fichiers indiqués sur toute instruction SQL INCLUDE. La recherche portera d'abord sur le répertoire de travail, puis sur le chemin d'accès indiqué, et enfin sur le répertoire source.
Copie des données admise (ALWCPYDTA)
Indique si une copie des données peut être utilisée lors de l'exécution de l'instruction SELECT.
- *OPTIMIZE
- Le système détermine s'il va utiliser les données extraites directement de la base de données ou une copie de ces données. La méthode la plus efficace sera choisie. Si la valeur du paramètre COMMIT (Contrôle de validation) n'est pas *NONE, le paramètre ALWBLK (Groupage admis) doit avoir pour valeur *ALLREAD, dans la mesure du possible, pour obtenir les meilleures performances.
- *YES
- Une copie des données peut être utilisée uniquement si cela est nécessaire.
- *NO
- La copie des données n'est pas utilisée. Si une copie temporaire est nécessaire pour lancer la requête, un message d'erreur s'affiche.
Fermer le curseur SQL (CLOSQLCSR)
Indique si les curseurs SQL sont fermés par défaut, si les instructions SQL préparées sont supprimées par défaut et si les verrouillages LOCK TABLE sont libérés. Les curseurs SQL sont fermés explicitement lorsque l'utilisateur lance une instruction SQL CLOSE, COMMIT ou ROLLBACK (sans HOLD).
- *ENDACTGRP
- Les curseurs SQL sont fermés et les instructions SQL préparées sont supprimées par défaut, et les verrouillages LOCK TABLE sont libérés à la fin du groupe d'activation.
- *ENDMOD
- Les curseurs SQL sont fermés et les instructions SQL préparées sont supprimées par défaut lorsque l'utilisateur quitte le module. Les verrouillages LOCK TABLE sont libérés à la fin du premier programme SQL de la liste d'appel des programmes. Notez qu'un curseur peut uniquement être fermé logiquement. Il n'est fermé physiquement que lorsque le premier programme avc SQL quitte la pile et seulement si ce programme n'a pas été compilé avec *ENDACTGRP.
Groupage admis (ALWBLK)
Indique si le gestionnaire des bases de données peut procéder à un groupage d'enregistrements et dans quelle mesure ce groupage est possible pour les curseurs en lecture seule.
- *ALLREAD
- Les lignes sont groupées pour les curseurs en lecture seule. Tous les curseurs d'un programme qui sont explicitement impossibles à modifier sont ouverts en vue d'un traitement en lecture seule, même si le programme comporte des instructions EXECUTE ou EXECUTE IMMEDIATE.
Le fait d'indiquer *ALLREAD :
- Permet le groupage d'enregistrements pour tous les curseurs en lecture seule.
- Peut permettre d'améliorer les performances de la plupart des curseurs en lecture seule contenus dans les programmes, mais limite les requêtes dans les cas suivants :
- Si la valeur *ALLREAD est indiquée, la commande d'invalidation ROLLBACK, une instruction ROLLBACK d'un langage hôte ou l'instruction ROLLBACK HOLD SQL, ne permettent pas de repositionner les curseurs en lecture seule.
- Vous ne pouvez pas mettre à jour une ligne de curseur par le lancement dynamique d'une instruction positionnée UPDATE ou DELETE (au moyen de EXECUTE IMMEDIATE, par exemple), sauf si l'instruction DECLARE du curseur comporte la clause FOR UPDATE.
- *NONE
- Les lignes ne sont pas groupées pour une extraction de données au moyen de curseurs.
Le fait d'indiquer *NONE :
- garantit que l'extraction est effectuée à partir des données en cours.
- est susceptible de réduire le temps nécessaire à l'extraction de la première ligne de données pour une requête.
- empêche le gestionnaire de la base de données d'extraire un bloc de lignes de données non utilisé par le programme lorsque seules les premières lignes d'une requête sont extraites avant fermeture de cette dernière.
- peut porter atteinte à l'efficacité d'une requête lorsque celle-ci extrait un grand nombre de lignes.
- *READ
- Les enregistrements sont groupés pour une extraction de données en lecture seule effectuée au moyen de curseurs dans les cas suivants :
- *NONE est indiqué pour le paramètre COMMIT (Contrôle de validation). Cette valeur signifie que le contrôle de validation n'est pas utilisé.
- Le curseur est défini avec la clause FOR READ ONLY, ou bien aucune instruction dynamique n'est susceptible d'exécuter une instruction UPDATE ou DELETE positionnée pour ce curseur.
Différer PREPARE (DLYPRP)
Indique si la validation d'une instruction dynamique PREPARE est différée jusqu'à l'exécution d'une instruction OPEN, EXECUTE ou DESCRIBE. Le fait de différer la validation permet d'améliorer les performances en éliminant toute validation superflue.
- *NO
- La validation de l'instruction dynamique n'est pas différée. Le plan d'accès est validé au moment de la préparation de l'instruction dynamique. Lorsque l'instruction dynamique est utilisée dans une instruction OPEN ou EXECUTE, le plan d'accès est revalidé. Les droits sur les objets référencés dans l'instruction dynamique pouvant être modifiés, ou ces objets pouvant ne plus exister, vous devez toujours effectuer une vérification de SQLCODE et SQLSTATE après avoir lancé une instruction OPEN ou EXECUTE afin de vous assurer que l'instruction dynamique est toujours correcte.
- *YES
- La validation de l'instruction dynamique est différée jusqu'à l'utilisation d'une instruction dynamique dans une instruction SQL OPEN, EXECUTE ou DESCRIBE. Le plan d'accès est validé au moment de la préparation de l'instruction. Si vous attribuez la valeur *YES à ce paramètre pour les programmes précompilés, vous devez effectuer une vérification de SQLCODE et SQLSTATE après avoir lancé une instruction OPEN, EXECUTE ou DESCRIBE afin de vous assurer que l'instruction dynamique est correcte.
Remarque :Si vous indiquez *YES, les performances ne sont pas améliorées si l'instruction PREPARE comporte la clause INTO ou si une instruction DESCRIBE utilise l'instruction dynamique avant qu'un OPEN ne soit produit pour cette instruction.
Résolution accès simultanés (CONACC)
Indique comment le gestionnaire de la base de données doit traiter les conflits de verrous d'enregistrement pour les données en cours de mise à jour.
- *DFT
- Indique que l'option d'accès simultané n'est pas définie explicitement pour ce programme. La valeur effective au moment de l'appel du programme est utilisée. Celle-ci se définit à l'aide de l'option SQL_CONCURRENT_ACCESS_RESOLUTION du fichier d'options de requête QAQQINI.
- *CURCMT
- Indique au gestionnaire de la base de données d'utiliser si possible les données actuellement validées, en cas de conflits des verrous d'enregistrement pour les requêtes en lecture seule. Ceci ne s'applique que si le niveau de validation est *CS.
- *WAIT
- Indique au gestionnaire de la base de données d'attendre les résultats en cas de conflits des verrous d'enregistrement.
Niveau de gravité (GENLVL)
Indique si le compilateur est appelé ou non, selon la gravité des messages générés suite aux erreurs détectées par le précompilateur SQL. Si ces erreurs sont générées avec un niveau de gravité supérieur à la valeur indiquée pour ce paramètre, le compilateur n'est pas appelé.
Si le paramètre RDB (Base de données relationnelle) est indiqué et si le niveau de gravité des messages générés lors de la création du module est supérieur au niveau indiqué pour ce paramètre, le module SQL n'est pas créé.
- 10
- Le compilateur n'est pas appelé si les messages du précompilateur SQL d'un niveau de gravité supérieur à 10 sont générés.
- 0-40
- Indiquez le niveau de gravité maximal des messages du précompilateur SQL à considérer pour vérifier si le compilateur est appelé ou non.
Marges du source (MARGINS)
Indique la partie de l'enregistrement d'entrée du précompilateur qui contient le texte source.
Si le paramètre Fichier STREAM source (SRCSTMF) est indiqué, les marges sont ignorées.
Elément 1 : Marge de gauche
- *SRCFILE
- La marge gauche prend la valeur 1 et la marge droite celle de la longueur des enregistrements du fichier source en entrée.
- 1-32754
- Indiquez la position du début de chaque enregistrement d'entrée.
Elément 2 : Marge de droite
- 1-32754
- Indiquez la position de fin de chaque enregistrement d'entrée.
Format de date (DATFMT)
Indique le format utilisé pour les colonnes résultat réservées aux dates. Toutes les zones date de sortie sont renvoyées avec le format que vous avez indiqué. Pour les chaînes date en entrée, la valeur indiquée est utilisée pour vérifier si le format de la date est correct.
Remarque :Pour les chaînes date en entrée, les formats *USA, *ISO, *EUR et *JIS sont toujours corrects.
Si vous vous connectez à une base de données relationnelle qui se trouve sur un système autre qu'un IBM i, vous devez utiliser le format *USA, *ISO, *EUR ou *JIS.
- *JOB
- Le format de date utilisé est celui défini pour le travail lors de la précompilation ou lors de la création d'une nouvelle session SQL interactive.
Lancez la commande DSPJOB (Afficher l'état d'un travail) pour connaître le format de date en cours pour le travail.
- *USA
- Le format de date US mm/jj/aaaa est utilisé.
- *ISO
- Le format de date ISO (International Organization for Standardization) aaaa-mm-jj est utilisé.
- *EUR
- Le format de date européen jj.mm.aaaa est utilisé.
- *JIS
- Le format de date JIS (Japanese Industrial Standard) aaaa-mm-jj est utilisé.
- *MDY
- Le format de date mm/jj/aa est utilisé.
- *DMY
- Le format de date jj/mm/aa est utilisé.
- *YMD
- Le format de date aa/mm/jj est utilisé.
- *JUL
- Le format de date aa/jjj (calendrier Julien) est utilisé.
Séparateur de date (DATSEP)
Indique le séparateur à utiliser pour les colonnes résultat réservées aux dates.
Remarque :Ce paramètre est utilisé uniquement lorsque *JOB, *MDY, *DMY, *YMD ou *JUL sont indiqués pour le paramètre DATFMT (Format de date).
- *JOB
- Le séparateur de date est celui défini pour le travail lors de la précompilation, lors de la création d'une nouvelle session interactive SQL ou lors de l'exécution de la commande RUNSQLSTM (Exécuter l'instruction SQL).
Lancez la commande DSPJOB (Afficher l'état d'un travail) pour connaître le séparateur de date en cours pour le travail.
- '/'
- Une barre oblique est utilisée comme séparateur de date.
- '.'
- Un point est utilisé comme séparateur de date.
- '-'
- Un tiret est utilisé comme séparateur de date.
- ','
- Une virgule est utilisée comme séparateur de date.
- ' ' ou *BLANK
- Un blanc, ' ', est utilisé comme séparateur de date.
Format d'heure (TIMFMT)
Indique le format utilisé pour les colonnes résultat d'heure. Toutes les zones heure de sortie sont renvoyées avec le format que vous avez indiqué. Pour les chaînes heure en entrée, la valeur indiquée est utilisée pour vérifier si le format de l'heure est correct.
Remarque :Les chaînes de type heure en entrée utilisant les formats *USA, *ISO, *EUR et *JIS sont toujours correctes.
Si vous vous connectez à une base de données relationnelle qui se trouve sur un système autre qu'un IBM i, vous devez utiliser le format *USA, *ISO, *EUR, *JIS ou *HMS avec un signe point ou deux-points comme séparateur d'heure.
- *HMS
- Le format d'heure hh:mm:ss est utilisé.
- *USA
- Le format d'heure américain hh:mmxx est utilisé, xx correspondant à AM ou PM.
- *ISO
- Le format d'heure ISO (International Organization for Standardization) hh.mm.ss est utilisé.
- *EUR
- Le format d'heure européen hh.mm.ss est utilisé.
- *JIS
- Le format d'heure JIS (Japanese Industrial Standard) hh:mm:ss est utilisé.
Séparateur d'heure (TIMSEP)
Indique le séparateur utilisé pour les colonnes résultat réservées aux heures.
Remarque :Ce paramètre est utilisé uniquement lorsque *HMS est indiqué pour le paramètre TIMFMT (Format d'heure).
- *JOB
- Le séparateur d'heure utilisé est celui défini pour le travail lors de la précompilation, lors de la création d'une nouvelle session SQL interactive ou lors de l'exécution de RUNSQLSTM.
Lancez la commande DSPJOB (Afficher l'état d'un travail) pour connaître le séparateur de date en cours pour le travail.
- ':'
- Un signe deux-points est utilisé comme séparateur d'heure.
- '.'
- Un point est utilisé comme séparateur d'heure.
- ','
- Une virgule est utilisée comme séparateur d'heure.
- ' ' ou *BLANK
- Un blanc, ' ', est utilisé comme séparateur d'heure.
Remplacement (REPLACE)
Indique si un module SQL est créé lorsqu'un module SQL portant le même nom existe dans la même bibliothèque. La valeur indiquée pour ce paramètre est transmise à la commande CRTCPPMOD.
- *YES
- Un nouveau module SQL est créé. Tout module SQL de même nom dans la bibliothèque indiquée prend la valeur QRPLOBJ.
- *NO
- Aucun nouveau module SQL n'est créé si un module de même nom existe déjà dans la bibliothèque indiquée.
Méthode de connexion RDB (RDBCNNMTH)
Indique les syntaxes utilisées pour les instructions CONNECT.
- *DUW
- Les syntaxes CONNECT (Type 2) permettent de prendre en charge l'unité d'oeuvre répartie. Des instructions CONNECT consécutives aux bases de données relationnelles supplémentaires n'entraînent pas l'arrêt des connexions précédentes.
- *RUW
- Les syntaxes CONNECT (Type 1) permettent de prendre en charge l'unité d'oeuvre éloignée. Des instructions CONNECT consécutives entraînent l'arrêt de la connexion précédente avant l'établissement d'une nouvelle connexion.
Collection par défaut (DFTRDBCOL)
Indique le nom de l'identificateur de schéma utilisé pour les noms non qualifiés de tables, vues, index, modules SQL, alias, contraintes, programmes externes, groupes de noeuds et déclencheurs. Ce paramètre ne s'applique qu'aux instructions SQL statiques.
- *NONE
- La convention d'appellation indiquée pour le paramètre OPTION (Options de précompilation) est utilisée.
- nom
- Entrez le nom de l'identificateur de schéma qui va remplacer la convention d'appellation indiquée pour le paramètre Options de précompilation (OPTION).
Collection par déf dynamique (DYNDFTCOL)
Indique si le nom de schéma par défaut spécifié au paramètre Collection par défaut (DFTRDBCOL) est également utilisé pour les instructions dynamiques.
- *NO
- La valeur indiquée au paramètre Collection par défaut (DFTRDBCOL) pour les noms non qualifiés de tables, vues, index, modules SQL, alias, contraintes, programmes externes, groupes de noeuds et déclencheurs n'est pas utilisée pour les instructions SQL dynamiques. La convention d'appellation indiquée pour le paramètre OPTION (Options de précompilation) est utilisée.
- *YES
- Le nom de schéma indiqué au paramètre Collection par défaut (DFTRDBCOL) est utilisé pour les noms non qualifiés de tables, vues, index, modules SQL, alias, contraintes, programmes externes, groupes de noeuds et déclencheurs dans les instructions SQL dynamiques.
Module (SQLPKG)
Indique le nom qualifié du module SQL créé sur la base de données relationnelle indiquée pour le paramètre Base de données relationnelle (RDB) de cette commande.
Qualificatif 1 : Module
- *OBJ
- Le nom du module SQL est le même que celui de l'objet indiqué pour le paramètre Objet (OBJ).
- nom
- Indiquez le nom du module SQL. Si le système éloigné n'est pas un IBM i, ce nom ne doit pas dépasser 8 caractères.
Qualificatif 2 : Bibliothèque
- *OBJLIB
- Le module est créé dans la bibliothèque qui porte le même nom que celle indiquée pour le paramètre Objet (OBJ). Ce nom est déterminé lors de la précompilation SQL et ne peut plus être modifié ultérieurement.
- nom
- Indiquez le nom de la bibliothèque dans laquelle le module est créé.
Chemin SQL (SQLPATH)
Chemin à utiliser pour rechercher des procédures, des fonctions, et des types définis par l'utilisateur dans des instructions SQL statiques.
- *NAMING
- Le chemin utilisé dépend de la convention d'appellation indiquée pour le paramètre OPTION (Options de précompilation).
Pour l'appellation *SYS, le chemin utilisé est *LIBL (liste de bibliothèques en cours lors de l'exécution).
Pour l'appellation *SQL, le chemin utilisé est "QSYS", "QSYS2", "SYSPROC", "SYSIBMADM", "IDutilisateur", où "IDutilisateur" est la valeur du registre spécial USER. Si un nom de schéma est indiqué pour le paramètre Collection par défaut (DFTRDBCOL), il est utilisé à la place de l'ID utilisateur.
- *LIBL
- Le chemin utilisé est la liste de bibliothèques générée lors de l'exécution.
- nom
- Indiquez un ou plusieurs noms de schéma. Vous pouvez en indiquer 268 au maximum.
Règles SQL (SQLCURRULE)
Indique la sémantique utilisée pour les instructions SQL.
- *DB2
- Les règles établies pour Db2 sont utilisées par défaut comme sémantique des instructions SQL. La sémantique suivante varie en fonction de cette option :
Les constantes hexadécimales sont considérées comme des données de type caractères
Les constantes de chaîne graphique Unicode sont de type UCS-2 (CCSID 13488).
Les affectations aux variables et paramètres SQL dans le corps d'une routine ou d'un déclencheur utilisent les règles d'affectation d'extraction.
Lorsque la description d'une instruction SELECT dans une structure SQLDA et SQLN est plus petite que le nombre requis d'entrées SQLVAR, SQLSTATE 01005 est renvoyé uniquement si la table des résultats contient des objets LOB ou des fichiers de type UDT.
- *STD
- Les règles établies par les normes SQL ISO et ANSI sont utilisées par défaut comme sémantique des instructions SQL. La sémantique suivante varie en fonction de cette option :
Les constantes hexadécimales sont considérées comme des données binaires.
Les constantes de chaîne graphique Unicode sont de type UTF-16 (CCSID 1200).
Les affectations aux variables et paramètres SQL dans le corps d'une routine ou d'un déclencheur utilisent les règles d'affectation de stockage.
Lorsque la description d'une instruction SELECT dans une structure SQLDA et SQLN est plus petite que le nombre requis d'entrées SQLVAR, SQLSTATE 01005 est toujours renvoyé.
Marquage SQL IBM (SAAFLAG)
Indique la fonction de marquage SQL IBM. Ce paramètre vous permet de marquer les instructions SQL afin de vérifier leur conformité à la syntaxe SQL IBM.
- *NOFLAG
- Aucun contrôle n'est effectué pour vérifier la conformité des instructions SQL à la syntaxe SQL IBM.
- *FLAG
- Un contrôle est effectué pour vérifier la conformité des instructions SQL à la syntaxe SQL IBM.
Marquage ANS (FLAGSTD)
Indique si les instructions non standard sont marquées. Ce paramètre vous permet de marquer les instructions SQL afin de vérifier leur conformité au niveau de base des normes ISO/IEC 9075-2003.
- *NONE
- Aucun contrôle n'est effectué pour vérifier si les instructions SQL sont conformes aux normes ANSI.
- *ANS
- Des contrôles sont effectués pour vérifier si les instructions SQL sont conformes aux normes.
Fichier imprimante (PRTFILE)
Indique le fichier imprimante à utiliser pour la liste en sortie du précompilateur.
Qualificatif 1 : Fichier imprimante
- QSYSPRT
- Le fichier en sortie du précompilateur est placé dans le fichier imprimante QSYSPRT, fourni par IBM. La longueur d'enregistrement du fichier QSYSPRT est 132. Si vous indiquez un fichier dont la longueur d'enregistrement est inférieure à 132, des informations seront perdues.
- nom
- Indiquez le nom du fichier imprimante dans lequel est placé le résultat de la précompilation.
Qualificatif 2 : Bibliothèque
- *LIBL
- La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
- *CURLIB
- La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
- nom
- Indiquez le nom de la bibliothèque dans laquelle est placé le fichier imprimante.
Vue de débogage (DBGVIEW)
Indique le type des informations de débogage source que le précompilateur SQL doit fournir.
- *NONE
- Aucune information sur la vue de débogage n'est fournie.
- *SOURCE
- Le précompilateur SQL fournit les vues du source principal et, si nécessaire, les instructions SQL INCLUDE. Une vue contenant les instructions générées par le précompilateur doit être fournie.
- *STMT
- Autorise le débogage de l'objet compilé à l'aide de numéros d'instructions de programme et d'identificateurs symboliques.
- *LIST
- Génère la vue de liste pour le débogage de l'objet compilé.
Clé de chiffrement de débogage (DBGENCKEY)
Indiquez la clé de chiffrement de la source du programme qui est imbriquée dans les vues de débogage.
- *NONE
- Aucune clé de chiffrement indiquée.
- valeur de type caractère
- Indiquez la clé de chiffrement de la source du programme qui est imbriquée dans les vues de débogage stockées dans l'objet module. La longueur de la clé est comprise entre 1 et 16 octets. Une clé dont la longueur est comprise entre 1 et 15 octets est remplie de blancs jusqu'à 16 octets pour le chiffrement. La valeur *NONE revient à indiquer une clé de longueur zéro.
Si la clé contient des caractères non invariables sur toutes les pages de codes, l'utilisateur devra alors s'assurer que le système cible utilise la même page de codes que le système source, faute de quoi la clé ne correspondra peut-être pas et le déchiffrement échouera. Si la clé de chiffrement doit être tapée sur des systèmes comportant des pages de codes différentes, il est recommandé d'utiliser des caractères invariables dans la clé pour toutes les pages de codes EBCDIC.
Profil utilisateur (USRPRF)
Indique le profil utilisateur associé à l'exécution du programme compilé et du module SQL, y compris le droit dont dispose l'un ou l'autre de ces objets sur chacun des objets figurant dans les instructions SQL statiques. Le profil du propriétaire ou de l'utilisateur permet de contrôler l'accès aux objets.
- *NAMING
- Le profil utilisateur est déterminé par la convention d'appellation. S'il s'agit de la convention *SQL, USRPRF(*OWNER) est utilisé. S'il s'agit de la convention *SYS, USRPRF(*USER) est utilisé.
- *USER
- Le profil de l'utilisateur qui exécute le programme ou le module SQL est utilisé.
- *OWNER
- Les profils du propriétaire et de l'utilisateur sont associés à l'exécution du programme ou du module SQL.
Profil utilisateur dynamique (DYNUSRPRF)
Indique le profil utilisateur utilisé dans les instructions SQL dynamiques.
- *USER
- Les instructions SQL locales dynamiques sont lancées sous le profil de l'utilisateur du programme. Les instructions SQL réparties et dynamiques sont lancées sous le profil du travail du serveur de l'application.
- *OWNER
- Les instructions SQL locales dynamiques sont lancées sous le profil du propriétaire du programme. Les instructions dynamiques SQL réparties sont lancées sous le profil du propriétaire du module SQL.
Séquence de tri (SRTSEQ)
Indique la table de classement à utiliser pour les comparaisons de caractères des instructions SQL.
Remarque :*HEX doit apparaître sur ce paramètre pour les applications réparties dont le serveur n'est pas un IBM i.
Valeurs uniques
- *JOB
- La valeur SRTSEQ du travail est utilisée.
- *JOBRUN
- La valeur SRTSEQ du travail est extraite quand le programme est lancé. Pour les applications réparties, SRTSEQ(*JOBRUN) est admis seulement si LANGID(*JOBRUN) a été également indiqué.
- *LANGIDUNQ
- La table de tri à poids uniques est utilisée pour la langue indiquée au paramètre LANGID (Identificateur de langue).
- *LANGIDSHR
- La table de tri à poids partagés est utilisée pour la langue indiquée au paramètre LANGID.
- *HEX
- Une table de séquence de tri n'est pas utilisée. Les valeurs hexadécimales des caractères servent à définir la séquence de tri.
Qualificatif 1 : Séquence de tri
- nom
- Indiquez le nom de la table de séquence de tri à utiliser avec ce programme.
Qualificatif 2 : Bibliothèque
- *LIBL
- La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours, jusqu'à ce qu'une valeur correspondant à la demande soit trouvée.
- *CURLIB
- La recherche s'effectue sur la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
- nom
- Indiquez le nom de la bibliothèque sur laquelle doit s'effectuer la recherche.
Identificateur de langue (LANGID)
Indique l'identificateur de langue à utiliser quand SRTSEQ(*LANGIDUNQ) ou SRTSEQ(*LANGIDSHR) sont spécifiés.
- *JOB
- La valeur LANGID du travail est extraite pendant la précompilation.
- *JOBRUN
- La valeur LANGID du travail est extraite quand le programme est lancé. Pour les applications réparties, la valeur LANGID(*JOBRUN) n'est admise que si la valeur SRTSEQ(*JOBRUN) est également indiquée.
- identificateur-langue
- Indique l'identificateur de langue que le programme doit utiliser.
CCSID de conversion (CVTCCSID)
CCSID utilisé pour la conversion lorsqu'un fichier STREAM source UTF-8 est indiqué au paramètre SRCSTMF (Fichier STREAM source). Sinon, ce paramètre est ignoré.
- *NONE
- Aucun CCSID de conversion n'est fourni.
- *JOB
- Le source est converti au CCSID par défaut du travail.
- 1-65534
- Le source est converti au CCSID spécifié. Il doit s'agir d'un CCSID EBCDIC avec un codage SBCS ou mixte.
Vers le fichier source (TOSRCFILE)
Indique le fichier source devant recevoir le membre source en sortie traité par le précompilateur SQL. Si le fichier source indiqué n'est pas trouvé, il est créé. Le membre en sortie portera le même nom que celui indiqué au paramètre OBJECT.
Qualificatif 1 : Vers le fichier source
- *CALC
- Le nom du fichier source en sortie est généré à partir de la valeur de largeur des marges du fichier source. Il se présente sous la forme QSQLTxxxxx, où xxxxx correspond à la largeur du fichier source. Si la longueur de l'enregistrement du fichier source est inférieure ou égale à 92, ce fichier est nommé QSQLTEMP.
- nom
- Indiquez le nom du fichier source devant contenir le membre source en sortie.
Qualificatif 2 : Bibliothèque
- QTEMP
- La bibliothèque QTEMP est utilisée.
- *LIBL
- La recherche est effectuée dans toutes les bibliothèques de la liste des bibliothèques du travail en cours. Si le fichier n'est pas trouvé, il est créé dans la bibliothèque en cours.
- *CURLIB
- La recherche s'effectue dans la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée comme étant la bibliothèque en cours du travail, la bibliothèque QGPL est utilisée.
- nom
- Indiquez le nom de la bibliothèque devant contenir le fichier source en sortie.
Options de résultat décimal (DECRESULT)
Indique la précision maximale, l'échelle maximale et l'échelle de division minimale devant être utilisée lors des opérations décimales, par exemple une opération arithmétique décimale. Les limites spécifiées s'appliquent uniquement aux types de données NUMERIC et DECIMAL.
Elément 1 : Précision maximale
- 31
- La précision maximale (longueur) qui doit être renvoyée par les opérations décimales est de 31 chiffres.
- 63
- La précision maximale (longueur) qui doit être renvoyée par les opérations décimales est de 63 chiffres.
Elément 2 : Echelle maximale
- 31
- L'échelle maximale (nombre de chiffres à droite du séparateur décimal) devant être renvoyée par les opérations décimales est de 31 chiffres.
- 0-63
- Indiquez l'échelle maximale (nombre de chiffres à droite du séparateur décimal) devant être renvoyée par les opérations décimales. Cette valeur est comprise entre 0 et la précision maximale.
Elément 3 : Echelle de division minimale
- 0
- L'échelle de division minimale n'est pas utilisée.
- 0-9
- Indiquez l'échelle maximum (nombre de chiffres à droite du séparateur décimal) devant être renvoyée par les opérations décimales. La valeur ne peut pas dépasser l'échelle maximale. Si 0 est indiqué comme nombre maximal de décimales, le nombre de décimales de division minimale n'est pas utilisé.
Mode arrondi décimal virg flot (DECFLTRND)
Indique le mode d'arrondi en virgule flottante décimale utilisé pour les instructions SQL.
- *HALFEVEN
- Arrondi au plus près ; en cas d'équidistance, l'arrondi s'effectue de telle sorte que le dernier chiffre soit pair. Si les chiffres éliminés représentent plus de la moitié (0,5) de la valeur du chiffre situé à leur gauche, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur). S'ils représentent moins de la moitié, le coefficient obtenu n'est pas ajusté (en d'autres termes, les chiffres éliminés sont ignorés). Enfin, en cas de moitié exacte, le coefficient obtenu reste inchangé si son dernier chiffre est pair et ce coefficient est est augmenté de 1 (arrondi au chiffre supérieur) si son dernier chiffre est impair (de façon à obtenir un chiffre pair).
- *HALFUP
- Arrondi au plus près ; en cas d'équidistance, arrondi au chiffre supérieur. Si les chiffres éliminés représentent une valeur égale ou supérieure à la moitié (0,5) de la valeur du chiffre situé à leur gauche, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur). Dans le cas contraire, les chiffres éliminés sont ignorés.
- *DOWN
- Arrondi en tendant vers 0 (troncature). Les chiffres éliminés sont ignorés.
- *CEILING
- Arrondi vers plus l'infini. Si tous les chiffres éliminés sont des zéros ou si le signe est négatif, le résultat reste inchangé, aux chiffres éliminés près. Dans le cas contraire, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur).
- *FLOOR
- Arrondi vers moins l'infini. Si tous les chiffres éliminés sont des zéros ou si le signe est positif, le résultat reste inchangé, aux chiffres éliminés près. Sinon, le signe est négatif et le coefficient obtenu doit être augmenté de 1.
- *HALFDOWN
- Arrondi au plus près ; en cas d'équidistance, arrondi au chiffre inférieur. Si les chiffres éliminés représentent plus de la moitié (0,5) de la valeur du chiffre situé à leur gauche, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur). Sinon, si les chiffres éliminés représentent une valeur égale ou inférieure à 0,5, ces chiffres sont ignorés.
- *UP
- Arrondi en s'éloignant de 0. Si tous les chiffres éliminés sont des zéros, le résultat reste inchangé aux chiffres éliminés près. Dans le cas contraire, le coefficient obtenu doit être augmenté de 1 (arrondi au chiffre supérieur).
Options de compilation (COMPILEOPT)
Indique les autres paramètres à utiliser dans la commande du compilateur. La chaîne COMPILEOPT est ajoutée à la commande du compilateur générée par le précompilateur. Si INCDIR figure dans cette chaîne, le précompilateur appelle le compilateur à l'aide du paramètre SRCSTMF. Aucune validation de la chaîne n'est effectuée. La commande du compilateur génère une erreur si un paramètre est incorrect. Pour obtenir la liste des paramètres générés par le précompilateur pour la commande du compilateur, reportez vous à la rubrique Rubriques de programmation SQL DB2 for i dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/. L'utilisation d'un mot clé transmis au compilateur par le précompilateur entraîne l'échec de la commande en raison de paramètres en double.
- *NONE
- Aucun autre paramètre ne sera utilisé dans la commande du compilateur.
- valeur de type caractère
- Entrez un texte de 5000 caractères au maximum, entre apostrophes.
Exemples
CRTSQLCPPI OBJ(PAYROLL) OBJTYPE(*MODULE)
TEXT('Programme Payroll')
Cette commande exécute le précompilateur SQL afin de précompiler le source C++ et stocker le source modifié dans le membre PAYROLL du fichier source QSQLTEMP dans la bibliothèque QTEMP. Elle appelle le compilateur ILE C++ pour créer le module PAYROLL dans la bibliothèque en cours à l'aide du membre source généré par le précompilateur SQL.
Messages d'erreur
Messages *ESCAPE
- SQL9001
- La précompilation SQL n'a pas abouti.
- SQL9002
- Paramètres TGTRLS non concordants pour précompilation SQL et compilation &7.
- SQL9003
- Le compilateur &7 n'est pas au niveau de version approprié pour le source SQL.
- SQL9006
- DB2 Query Mgr and SQL DevKit ne sont pas au même niveau que le système d'exploitation.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.