2010-12-06 11 views
2

C#でASP.NETフォームを使用して小さなcsvファイルをSQL Serverにインポートする最適な方法は何ですか?私はこれを行う多くの方法があることを知っていますが、どのクラスがファイルを読むのが最善だろうと、データベースに挿入する方法が不思議です。ファイルをDataTableに読み込み、SqlBulkCopyクラスを使用するか、ADO.NETを使用してデータを挿入するだけですか?どの方法が最善であるかわからない。私はシンプルなソリューションの後で、csvファイルが小さいのでスケーラビリティやパフォーマンスには関心がありません。ASP.NETとC#を使用してSQL Serverにcsvファイルをインポートする

ASP.NET 4.0、C#4.0およびSQL Server 2008 R2を使用します。

答えて

3

DataTableSqlBulkCopyクラスはうまくいっていますが、いつかはこれらの小さなCSVファイルが大きくなるのを防ぐために、あなたのプログラムはADOとして準備ができています。 NETを使用すると、一度に1行を処理することでオーバーヘッドが増えることがあります。

EDIT#1

データテーブルにCSVファイルから取得するための最良の方法は何ですか?

CSVファイル形式は、テキストファイルに過ぎません。したがって、File.ReadAllLines Method (String)を使用して読むことができます。これは、string[]を返します。次に、DataRowクラスまたは好きな方法でDataTableに追加することができます。

DataTableを定義するときに列を追加して、行を追加するときの構造を把握することを検討してください。

+0

ありがとうございます - csvファイルからdatatableに至る最善の方法は何ですか? –

+0

この種の返信はVB.Nets DelimitedFileParserを言及するには完璧な時間です* Csvファイルを扱うために.Netフレームワークの外に出ることを意味することがよく知られているため、見落とされていることです。あなたはC#でそれをとても簡単に使うことができます。 – Moo

+0

私は実際にKBCsv http://kbcsv.codeplex.com/を使用して終了しました –

関連する問題