2016-09-05 8 views
0

夕方にブランチからアップロードされたXML文書があります。このアップロードプロセスは毎日行われます。各XMLファイルには、SQL Serverに挿入する必要のある複数のテーブルが含まれています。 SSISにもC#プログラムでも解決策がありますか?私はこの分野に新しいです。複数のテーブルを含むXML文書をインポート

+0

XMLファイルは同じスキーマを共有するか、その構造が異なる可能性がありますか? – Ferdipux

+0

スキーマはすべてのファイルで同じです。ファイル名のみが変更されます。 –

答えて

0
DataSet ds = new DataSet(); 
ds.ReadXml(@"D:/test.xml"); 

var connection = new SqlConnection("my connection string"); 
connection.Open(); 

// repeat for each table in data set 
var adapterForTable1 = new SqlDataAdapter("select * from table1", connection); 
var builderForTable1 = new SqlCommandBuilder(adapterForTable1); 
adapterForTable1.Update(ds, "Table1"); 
+1

@dmitrity 100以上の異なるテーブルが単一のXMLファイルに存在し、毎日130以上のファイルを受け取り、すべてのファイル名が異なります。テーブルはすべてのファイルで同じです。 –

+0

このようなファイルの例を挙げてください – Dmitriy

0

XML文書のスキーマが修正されている場合、DataFlowでSSIS XML Sourceを使用できます。スキーマに従ってXMLをパースし、それに基づいて出力を作成します。したがって、テーブルからデータを取得し、標準のOLE DB宛先でDBに格納することができます。
XMLソースには、ソースXMLファイルへのパスを指定するための構成可能なプロパティがあります。したがって、For Each File列挙子とXMLソースを使用したループコールDataFlowでファイル処理を自動化できます。

関連する問題