La dernière technique copie une valeur CLOB dans un fichier plat de l'IFS. Il faut alors déclarer une variable de référence de fichier, comme illustré en D. Comme avec les deux techniques précédentes, on n'indique ni type de donnée ni longueur sur la carte D ; on code simplement le
Le mot-clé Clob_File
mot-clé SqlType(Clob_File). Le
précompilateur SQL/400 génère une structure de données comme celle-ci :
DCLOB1REF DS
DCLOB1REF_NL 10U 0
DCLOB1REF_DL 10U 0
DCLOB1REF_FO 10U 0
DCLOB1REF_NAME 255A
La structure de données porte le même nom que la variable à déclarer. Les sous-zones
ont les suffixes et contenus suivants :
Suffixe | Contenu de la sous-zone |
_NL | Longueur du nom de fichier |
_DL | Longueur de la donnée en sortie |
_FO | Options de fichier |
_NAME | Specification du nom de fichier |
Figure 2 Valeurs des sous-champs des options du fichier LOB (large binary object) | |||
Constante nommée | Valeur | Signification | CCSID du fichier |
SQFRD | 2 | Le fichier est en lecture seule (pour attribution à une colonne LOB) | CCSID du fichier existant |
SQFCRT | 8 | Le fichier doit être créé ; il ne doit pas déjà exister | Même CCSID que la colonne LOB |
SQFOVR | 16 | Le fichier doit être créé ou remplacé | Un nouveau fichier a le même CCSID que la colonne LOB ; un fichier remplacé a le même CCSID que le fichier existant |
SQFAPP | 32 | Le fichier doit être créé ou ajouté | Un nouveau fichier a le même CCSID que la colonne LOB ; un fichier ajouté a le même CCSID que le fichier existant |
Avant d’utiliser une référence de fichier dans une instruction SQL, il faut définir
les sous-champs _NL, _FO et _NAME, comme illustré en F. Le sous-champ _FO (file
options) (CLOB1REF_FO, par exemple) doit être mis à l’une des constantes nommées
présentes dans la figure 2. Quand la variable de référence de fichier est utilisée
dans une instruction Select Into ou Fetch (c’est-à -dire pour copier la valeur
CLOB dans un fichier IFS), il faut mettre le sous-champ _FO (file options) à SQFCRT,
SQFOVR ou SQFAPP. On peut aussi utiliser une variable de référence de fichier
dans une instruction Insert (c’est-à -dire pour insérer le contenu d’un fichier
IFS dans une colonne CLOB, comme décrit dans la section suivante), auquel cas
il faut indiquer SQFRD dans le sous-champ options.
Le nom de fichier (CLOB1REF_NAME, par exemple) doit être indiqué avec la notation
IFS, par exemple :
‘/test/lobfile.txt’
La longueur du nom de fichier (CLOB1REF_NL, par exemple) est simplement la longueur
de chaîne du nom de fichier indiqué.
Quand on définit une variable hôte de référence de fichier sur une instruction
Select Into ou Fetch (voir la ligne avec :Clob1Ref en G, figure 1), SQL/400 copie
la valeur CLOB dans le fichier stream indiqué. On peut par la suite accéder au
fichier au moyen de n’importe quelle interface de l’IFS. Pour un bon fonctionnement,
SQL/400 met également le sous-champ _DL (Longueur de la donnée en sortie) (CLOB1REF_DL,
par exemple) à la taille de la valeur CLOB.
Téléchargez gratuitement cette ressource

Sécurité Office 365 : 5 erreurs à ne pas commettre
A l’heure où les données des solutions Microsoft de Digital Workplace sont devenues indispensables au bon fonctionnement de l’entreprise, êtes-vous certain de pouvoir compter sur votre plan de sécurité des données et de sauvegarde des identités Microsoft 365, Exchange et Teams ? Découvrez les 5 erreurs à ne pas commettre et les bonnes pratiques recommandées par les Experts DIB France.
Les articles les plus consultés
A travers cette chaîne
A travers ITPro
Les plus consultés sur iTPro.fr
- Plateforme de protection applicative : le couteau suisse indispensable pour les développeurs et les équipes de sécurité
- Cohésion d’équipe & Collaboration numérique : un duo gagnant ?
- Cyber espionnage – Les pirates russes APT29 utilisent les services de stockage en ligne, DropBox et Google Drive
- SEKOIA : de l’intelligence sur les menaces jusqu’à l’automatisation de la réponse !
- Les managers face à l’impact du télétravail
