簡體   English   中英

使用 SSIS 導入不同結構的 XML 文件

[英]Import XML files with different structures using SSIS

我有多個具有不同結構的 XML 文件,但它們都共享一組特定的節點。

我的目標是只將這些相互節點導入到 SQL Server 表中。 知道我無法為每種類型生成 .Xsd,因為有許多可能的 XML 文件變體,我該如何繼續? 提前致謝。

簡單的解決方案是將所有這些 XML 文件加載到一個 XML 表中(2 列:FileId 和 XmlData)。 這可以作為包的第一步來完成。
然后您將編寫一個存儲過程,它會將 XML 從此表中分解為最終表。 此存儲過程將作為 SSIS 包中的第二步調用。

我認為使用 SSIS 做到這一點並不容易

如果您沒有其他選擇,您可以使用腳本組件作為源並使用 C# 或 VB.NET 腳本解析 XML 文件,然后僅生成具有所需列的輸出。

關於使用 Script 組件的更多信息,您可以參考以下文章:

SchemaMapper 類庫

有一段時間,我正在研究一個名為 SchemaMapper 的項目。 它是一個使用 C# 開發的類庫。 您可以使用它從 XML 和其他具有不同結構的格式將表格數據導入到統一的 SQL 服務器表中。

您可以參考項目 wiki 以獲取分步指南:


另外,請隨時檢查以下答案,它可能會給您一些見解:

因此,我對這種特殊情況的解決方案是: 1- 添加一個 C# 腳本,該腳本讀取 xml 文件並僅保留公共節點並將它們的值保存到我的 dts 變量中。 2- 將我剛剛填充的變量插入到我的 SQL Server 表中。 這兩個任務都在 for each 循環中遍歷特定目錄中的所有 xml 文件。 希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM