許多可能性之一。
Legned
XML_DIR
- 與特權Oracle對象目錄。
entrypoint.txt
- 包含它的特殊文件包含xmlfiles的名稱。文件必須存在於相同的目錄中。該文件必須單獨創建。
xmlDocument1.xml
xmlDocument2.xml
etc...
路徑結構。
XML_DIR -|
entrypoint.txt
xmlDocument1.xml
xmlDocument2.xml
接下來你必須創建external_table。
CREATE TABLE XML_EXTERNAL_DOCUMENTS (
FNAME VARCHAR2(100),
DOCUMENT CLOB
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY XML_DIR
ACCESS PARAMETERS (
FIELDS (
FNAME CHAR(100)
)
COLUMN TRANSFORMS (
DOCUMENT FROM lobfile (FNAME)
)
)
LOCATION ('entrypoint.txt')
)
/
現在嘗試查詢外部表,如果一切正確。 如果發生一些異常。可能有錯字錯誤或者你沒有特權。 externatable從entrypoint.txt讀取文件名,並使用它們讀取xml文件。
下一步將clob解析爲xmltype(xmltype(document)
),然後用xmltable
選擇節點內容。
select src.fname,list.* from XML_external_DOCUMENTS src,xmltable('/root/declaration' passing xmltype(document) columns id number path 'id') list;
你想提取單個特定節點或幾個值節點? –
文件在哪裏?在客戶端機器上還是在數據庫服務器上?並在數據庫可以看到的目錄中(通過Oracle目錄對象)?你有沒有嘗試過讀取文件? –