XMLファイルからSQLデータベースにデータをインポートすることは可能ですか?可能であれば、それはどのように行われますか。私は約50000のエントリを含むXMLファイルを持っており、そのデータを操作するアプリケーションを作成する必要があります(主に読み取りと比較)-したがって、私の懸念は、その量のデータでの操作です(そして可能性が非常に高いです)将来的にはさらに多くのことがあります)は非常に遅く、非効率的です。他に良いと思われるオプションがある場合は、アドバイスしてください。ありがとう
質問する
25831 次
6 に答える
5
SQLServerのインポートおよびエクスポートウィザードを使用できます。SQL ServerIntegrationServicesを調べることもできます。C#を使用する場合、SQLサーバーはXMLデータ型をサポートします。あなたはそれを利用することができます。
データセット内のデータを読み取ってから、BulkInsertを使用してSQLServerにデータを挿入することもできます。
DataSet reportData = new DataSet();
reportData.ReadXml(Server.MapPath("yourfile.xml"));
SqlConnection connection = new SqlConnection("DB ConnectionSTring");
SqlBulkCopy sbc = new SqlBulkCopy(connection);
sbc.DestinationTableName = "yourXMLTable";
編集: SQL Server 2005の場合は、SQLServer2005のインポート/エクスポートウィザードを確認してください
于 2012-05-29T08:49:10.013 に答える
0
これは、xml ファイルの複雑さに大きく依存します (オブジェクトの 1 つの深さかネストされたオブジェクトか、データの種類とサイズなど)。
知識があれば SSIS で解決できますが、単純な C# アプリケーションでも解決できます。
アプリケーションは次のことを行う必要があります。
- データを表す永続性認識クラスを定義する
- xml を読み取って、このクラスのリストをロードします (非常に重いボリュームでは、ページネーションが必要になる場合があります
- adoまたはlinq to sqlを使用してデータベースにデータをプッシュします(エンティティフレームワークは可能ですが、単純なバッチインポートにはおそらく多すぎます
別の方法として、同じ種類のジョブを実行する単純な powershell スクリプトを使用することもできます。
于 2012-05-29T08:51:48.403 に答える