> Tech > Le mot-clé Clob_File

Le mot-clé Clob_File

Tech - Par iTPro - Publié le 24 juin 2010
email

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

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

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.

Tech - Par iTPro - Publié le 24 juin 2010