SQL Server でのバルク コピー操作 (ADO.NET)
更新 : November 2007
Microsoft SQL Server には、サイズの大きなファイルをテーブルに高速でバルク コピーしたり、SQL Server データベースのデータを表示したりするための bcp という一般的なコマンド ライン ユーティリティが用意されています。SqlBulkCopy クラスを使用すると、同様の機能を備えたマネージ コード ソリューションを作成できます。SQL Server のテーブルにデータを読み込むには、INSERT ステートメントを使用するなどの方法もありますが、SqlBulkCopy を使用すれば他の方法よりもパフォーマンス面で大幅に有利になります。
SqlBulkCopy クラスを使用すると、SQL Server のテーブルにのみデータを書き込むことができます。ただし、データ ソースについては SQL Server に限定されているわけではありません。DataTable インスタンスのデータの読み込み、または、IDataReader インスタンスによるデータの読み取りであれば、任意のデータ ソースを使用することができます。
SqlBulkCopy クラスを使用すると、次のことを実行できます。
単一のバルク コピー操作
複数のバルク コピー操作
トランザクション内でのバルク コピー操作
メモ : |
---|
SqlBulkCopy クラスがサポートされていない、バージョン 1.1 以前の .NET Framework では、SqlCommand オブジェクトを使用して、SQL Server Transact-SQL BULK INSERT ステートメントを実行できます。 |
このセクションの内容
バルク コピー サンプルのセットアップ (ADO.NET)
バルク コピーの例で使用されるテーブルについて説明します。また、AdventureWorks データベースにテーブルを作成する SQL スクリプトを提供します。バルク コピー操作の単一実行 (ADO.NET)
SqlBulkCopy クラスを使用して、SQL Server のインスタンスにデータをバルク コピーする単一の方法を説明します。また、Transact-SQL ステートメントと SqlCommand クラスを使用したバルク コピー操作の実行方法も説明します。バルク コピー操作の複数実行 (ADO.NET)
SqlBulkCopy クラスを使用して、SQL Server のインスタンスにデータのバルク コピー操作を行う複数の方法を説明します。トランザクションとバルク コピー操作 (ADO.NET)
トランザクション内でのバルク コピー操作の実行方法を説明します。トランザクションのコミットやロールバックの方法も説明します。