首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle XML 資料存取關鍵:正確設定 rowTag 實現資料匯入匯出

     編輯:Oracle 資料庫基礎

核心問題:rowTag 必須對應 XML 記錄標籤

使用 Oracle XML SQL Utility (XSU) 進行 XML 匯入匯出時,最關鍵的是正確設定 rowTag,使其對應 XML 中代表單筆記錄的標籤名稱。

XML 結構與 rowTag 對應範例

情境一:自訂標籤名稱

<ROOT>
  <RECORD>
    <COLUMN1>aaaa</COLUMN1>
    <COLUMN2>bbbb</COLUMN2>
  </RECORD>
</ROOT>

對應資料表 aaa (aaa varchar2(20), bbb varchar2(20))。匯入時必須設定:

save.setRowTag("RECORD");  // 大小寫敏感!
save.insertXML(xmlDoc);

情境二:預設標籤 (ROWSET/ROW)

從資料表產生 XML 時,預設結構為:

<ROWSET>
  <ROW num="1">
    <COLUMN1>aaaa</COLUMN1>
    <COLUMN2>bbbb</COLUMN2>
  </ROW>
</ROWSET>

可自訂標籤名稱:

// 產生 XML 時
qry.setRowSetTag("TABLENAME");
qry.setRowTag("RECORDNAME");
// 產生:
// <TABLENAME><RECORDNAME num="1">...</RECORDNAME></TABLENAME>

// 匯入時對應設定
save.setRowTag("RECORDNAME");
save.insertXML(xmlDoc);

關鍵注意事項

  • XML 大小寫敏感:RECORDNAME 與 recordname 視為不同標籤,設定時必須完全一致。
  • rowTag 對應單一記錄元素:而非根元素或欄位元素。
  • 匯出時可透過 setRowSetTag、setRowTag 自訂結構,匯入時務必對應設定 setRowTag。

常見錯誤

網路上大多數範例錯誤在於未正確設定 rowTag,導致匯入時無法識別記錄邊界,產生「找不到行標籤」或資料遺失錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved