0

簡単な質問:

SQL Server 2005 に対して半ダースの SELECT 要求を作成し、結果をフラット ファイルに書き込む必要があるアプリがあります。それでおしまい。

.NET 3.5 を使用できれば、LINQ-To-SQL モデルを作成し、LINQ 式を記述して 1 時間で完了します。.NET 3.0 または 3.5 を使用できない場合、次善の策は何ですか? ADO.NET DataReaders/DataSets は最適なオプションですか、それとも他の利用可能なものを忘れていますか?

4

4 に答える 4

4

SqlCommand および SqlDataReader クラスを使用するのが最善の策です。結果をフラット ファイルに書き込む必要がある場合は、DataSet に移動する代わりにリーダーを直接使用する必要があります。これは、後者が結果をフラット ファイルに書き出す前にメモリにロードするためです。

SqlDataReader を使用すると、データをストリーミング形式で読み取ることができるため、この状況でアプリをよりスケーラブルにすることができます。

于 2009-10-02T05:15:36.190 に答える
1

Nick K が serverfault に関する SQL Server 2000の質問にとても親切に答えてくれたように、bcp ユーティリティはこれに非常に便利です。

クエリで BCP を呼び出すバッチ ファイルまたはクイック スクリプトを作成し、csv,sql をテキスト ファイルに直接ダンプすることができます。

于 2009-10-02T05:35:54.513 に答える
0

上記の Dave Van den Eynde の回答に同意しますが、これらのファイルに大量のデータをプッシュしている場合、およびアプリがそれをサポートできるものである場合は、SSISパッケージの作成を検討する価値があると言えます。 .

これは完全にやり過ぎかもしれませんが、一括インポート/エクスポートでは見過ごされがちです。

于 2009-10-02T05:21:40.017 に答える
0

または、コードを書かずに BCP.exe を使用することもできます: http://msdn.microsoft.com/en-us/library/ms162802(SQL.90).aspx

于 2009-10-02T05:35:32.343 に答える