IBM Books

Extension XML Administration et programmation


Stockage des données

L'Extension XML permet d'insérer dans une colonne XML des documents XML en l'état. Si vous définissez des tables annexes, l'Extension XML les met à jour automatiquement. Lorsque vous stockez directement un document XML, l'Extension XML mémorise son type de base en tant que type XML.

Tâche en cours :

  1. Assurez-vous d'avoir créé ou mis à jour le fichier DAD.
  2. Déterminez le type de données à utiliser lors du stockage du document.
  3. Choisissez une méthode de stockage des données dans la table DB2 (fonctions de transtypage ou fonctions UDF).
  4. Indiquez une instruction SQL INSERT qui identifie la table et la colonne XML cible pour le document XML.

L'Extension XML comporte deux méthodes de stockage des documents XML : les fonctions de transtypage par défaut et les fonctions UDF d'archivage. Le Tableau 8 indique la pertinence d'utilisation de chaque méthode.

Tableau 8. Fonctions d'archivage de l'Extension XML
Type de base Type dans DB2
XMLVARCHAR XMLCLOB XMLFILE
VARCHAR XMLVARCHAR() Non applicable XMLFileFromVarchar()
CLOB Non applicable XMLCLOB() XMLFileFromCLOB()
FILE XMLVarcharFromFile() XMLCLOBFromFile() XMLFILE

Utilisation d'une fonction de transtypage par défaut
Pour chaque type UDT, il existe une fonction de transtypage par défaut permettant de transtyper le type de base SQL en type UDT. Vous pouvez insérer des données par l'ajout dans la clause VALUES de fonctions de transtypage fournies par l'Extension XML. Le Tableau 9 répertorie les fonctions de transtypage fournies.

Tableau 9. Fonctions de transtypage par défaut de l'Extension XML
Transtypage utilisé dans la clause SELECT Type de données renvoyé Description
XMLVARCHAR(VARCHAR) XMLVARCHAR Données d'entrée de la mémoire tampon VARCHAR
XMLCLOB(CLOB) XMLCLOB Données d'entrée de la mémoire tampon CLOB ou releveur de coordonnées CLOB
XMLFILE(VARCHAR) XMLFILE Nom du fichier de stockage uniquement

Exemple : L'instruction ci-après insère dans le type XMLVARCHAR un type VARCHAR transtypé :

INSERT INTO sales_tab 
VALUES('123456', 'Sriram Srinivasan', db2xml.XMLVarchar(:xml_buff))

Utilisation d'une fonction UDF d'archivage :
Pour chaque type UDT Extension XML, il existe une fonction UDF d'archivage qui permet d'importer des données dans DB2, à partir d'une ressource autre que son type de base. Par exemple, pour importer un document XML en tant qu'objet XMLCLOB dans DB2, vous pouvez utiliser la fonction XMLCLOBFromFile().

Le Tableau 10 répertorie les fonctions d'archivage fournies par l'Extension XML.

Tableau 10. Fonctions UDF d'archivage de l'Extension XML
Fonction UDF d'archivage Type de données renvoyé Description
XMLVarcharFromFile() XMLVARCHAR Lit un document XML à partir d'un fichier de serveur et renvoie une valeur de type XMLVARCHAR.
XMLCLOBFromFile() XMLCLOB Lit un document XML à partir d'un fichier de serveur et renvoie une valeur de type XMLCLOB.
XMLFileFromVarchar() XMLFILE Lit un document XML dans la mémoire en tant que VARCHAR, l'écrit dans un fichier externe et renvoie une valeur de type XMLFILE correspondant au nom du fichier.
XMLFileFromCLOB() XMLFILE Lit un document XML dans la mémoire en tant que CLOB ou releveur de coordonnées CLOB, l'écrit dans un fichier externe et renvoie une valeur de type XMLFILE correspondant au nom du fichier.

Exemple : L'instruction ci-après stocke un enregistrement en tant qu'objet XMLCLOB dans une table XML à l'aide de la fonction XMLCLOBFromFile().

EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) 
    VALUES( '1234', 'Sriram Srinivasan,
      XMLCLOBFromFile('c:\dxx\samples\cmd\getstart.xml'))

Dans l'exemple précédent, l'objet XML est importé du fichier c:\dxx\samples\cmd\getstart.xml vers la colonne ORDER de la table SALES_TAB.


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]