[英]How to import multiple csv files with different headers into database using SSIS?
[英]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 的項目。 它是一個使用 C# 開發的類庫。 您可以使用它從 XML 和其他具有不同結構的格式將表格數據導入到統一的 SQL 服務器表中。
您可以參考項目 wiki 以獲取分步指南:
另外,請隨時檢查以下答案,它可能會給您一些見解:
因此,我對這種特殊情況的解決方案是: 1- 添加一個 C# 腳本,該腳本讀取 xml 文件並僅保留公共節點並將它們的值保存到我的 dts 變量中。 2- 將我剛剛填充的變量插入到我的 SQL Server 表中。 這兩個任務都在 for each 循環中遍歷特定目錄中的所有 xml 文件。 希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.