5

XMLファイルからSQLデータベースにデータをインポートすることは可能ですか?可能であれば、それはどのように行われますか。私は約50000のエントリを含むXMLファイルを持っており、そのデータを操作するアプリケーションを作成する必要があります(主に読み取りと比較)-したがって、私の懸念は、その量のデータでの操作です(そして可能性が非常に高いです)将来的にはさらに多くのことがあります)は非常に遅く、非効率的です。他に良いと思われるオプションがある場合は、アドバイスしてください。ありがとう

4

6 に答える 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# アプリケーションでも解決できます。

アプリケーションは次のことを行う必要があります。

  1. データを表す永続性認識クラスを定義する
  2. xml を読み取って、このクラスのリストをロードします (非常に重いボリュームでは、ページネーションが必要になる場合があります
  3. adoまたはlinq to sqlを使用してデータベースにデータをプッシュします(エンティティフレームワークは可能ですが、単純なバッチインポートにはおそらく多すぎます

別の方法として、同じ種類のジョブを実行する単純な powershell スクリプトを使用することもできます。

于 2012-05-29T08:51:48.403 に答える