Modification de l'Option de Stockage pour XMLType colonne dans Oracle 11g
Je suis en utilisant XMLType colonne dans certains de mes table de base de données oracle. Plus tôt(en 11.2.0.2) la valeur par défaut type de stockage est considéré comme CLOB. Donc, Si vous émettez une requête pour la XMLType colonnes, je peux voir le contenu de la colonne en tant que chaîne de caractères XML. Mais quand je l'ai supprimer et recréer toutes les tables et inséré quelques données, je ne pouvais pas obtenir le contenu de la XMLType colonnes. Il simpley afficher le XMLType dans le cloumn valeur. J'ai un doute que si le type de stockage est chaged en XML BINAIRE? J'ai donc l'émission d'instruction alter:
ALTER TABLE "MYSCHEMA"."SYSTEMPROP"
MODIFY ("XMLCOL")
XMLTYPE COLUMN "XMLCOL" STORE AS CLOB;
Veuillez noter qu'il existe déjà des données présentes dans la table. L'événement après quand je l'ai supprimer et insérer une ligne, le contenu est le fait de montrer XMLType. Je suis à l'aide de SQL développeur de l'INTERFACE utilisateur de l'outil. Quelqu'un peut-il suggérer un moyen de corriger ce problème?
Edit:
Ok, Maintenant nous avons décidé que nous allons stocker les XMLType colonne de contenu SÉCURISÉ des FICHIERS XML BINAIRE. Nous avons donc le tableau comme ceci:
CREATE TABLE XMYTYPETEST
(
ID NUMBER(8) NOT NULL,
VID NUMBER(4) NOT NULL,
UserName VARCHAR2(50),
DateModified TIMESTAMP(6),
Details XMLType
)XMLTYPE COLUMN Details STORE AS SECUREFILE BINARY XML;
Insert into XMYTYPETEST values(10001,1,'XXXX',sysdate,'<test><node1>BLOBTest</node1></test>');
Select * from XMYTYPETEST;
La XMLType colonne, est affiché en tant que "SYS.XMLType" dans sql developer. Alors, comment obtenir le contenu du XML binaire?
Edit:
SÉLECTIONNEZ x.ID,x.Vid x.des détails.getCLOBVal() à PARTIR de XMYTYPETESTx où x.ID=100000;
La requête ci-dessus fonctionne pour moi enfin.
- Vous êtes à la question n'est pas claire, est-ce un problème d'affichage dans la
sql developer
? pouvez-vous l'exécutez la requête:select dump(<your xml col name>) from <your table name>
et publier les résultats ? - BTW, avez-vous essayer le
getClobVal()
fonction ? docs.oracle.com/cd/B10500_01/appdev.920/a96616/... - Oui. Avec getClobVal (), je peux lire le champ BLOB de contenu.
Vous devez vous connecter pour publier un commentaire.
La de stockage sous-jacent pour xmldata à l'intérieur de la base de données oracle est soit CLOB ou Binaire.
Et la valeur par défaut pour le stockage Binaire en 11g.
Mais quel que soit le stockage, vos interrogations sur le xmltype colonne devrait te rapporter des résultats cohérents.
>>>> Donc comment obtenir le contenu du XML binaire?
La manière d'obtenir le contenu d'un xmltype colonne à l'aide de requêtes ne change pas.
Ces sont quelques-uns des moyens par lesquels les données xml est extrait.
Espère que cette aide.