0

简单的问题:

我有一个应用程序需要向 SQL Server 2005 发出半打 SELECT 请求并将结果写入平面文件。就是这样。

如果我可以使用 .NET 3.5,我会创建一个 LINQ-To-SQL 模型,编写 LINQ 表达式并在一小时内完成。鉴于我不能使用 .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 回答