on dirait que vous parlez de deux questions - Tout d'abord, obtenir le document XML où Oracle peut le voir. Et puis peut-être faire en sorte que les outils relationnels standards puissent être appliqués aux données. Pour la première fois, vous ou votre administrateur de base de données pouvez créer une table avec une colonne BLOB, CLOB ou BFILE et charger les données. Si vous avez accès au serveur sur lequel réside la base de données, vous pouvez définir un objet DIRECTORY dans la base de données qui pointe vers un répertoire du système d'exploitation. Ensuite, mettez votre fichier là. Et puis soit le configurer en tant que BFILE ou le lire. (CLOB et BLOB stocker dans la base de données, BFILE stocke un pointé vers un fichier sur le côté du système d'exploitation).
Vous pouvez également utiliser un outil qui vous permettra d'écrire directement des CLOB dans la base de données. Quoi qu'il en soit, cela vous amène au point où vous pouvez voir le document d'instance XML dans la base de données.
Vous avez maintenant le document d'instance visible. L'étape 1 est terminée. En fonction de la version, Oracle dispose de très bons outils pour déchiqueter le XML en tables relationnelles.
Cela peut être très déclaratif. Bien que cela dépasse ce que j'ai réellement fait (j'ai un projet où je vais l'essayer cet automne), vous pouvez théoriquement charger votre schéma XML dans la base de données et l'annoter avec le tableau croisé entre les tables relationnelles et le XML. Ensuite, prenez votre CLOB ou BFILE et convertissez-le en une colonne XMLTYPE avec le schéma défini et vous avez terminé - le déchiquetage se fait automatiquement, les données sont toutes là, tout est relationnel, tout est disponible pour le SQL standard sans XQUERY ou XML extensions.
Bien sûr, si vous préférez utiliser XQUERY, alors prenez simplement le CLOB ou BFILE, convertissez-le en XMLTYPE, et allez-y.
Il y avait en fait un bon billet de Marco Gralike aujourd'hui sur le déchiquetage dans la base de données, http://www.liberidu.com/blog/?p=1094 –