简单的问题:
我有一个应用程序需要向SQL Server 2005发出半打的SELECT请求并将结果写入平面文件。就是这样。
如果我可以使用.NET 3.5,我将创建一个LINQ-To-SQL模型,编写LINQ表达式并在一小时内完成。鉴于我不能使用.NET 3.0或3.5,下一个最佳方法是什么? ADO.NET DataReaders / DataSet是最好的选择,还是我忘记了其他可用的东西?
答案 0 :(得分:4)
使用SqlCommand和SqlDataReader类是最好的选择。如果需要将结果写入平面文件,则应直接使用阅读器而不是使用DataSet,因为后者会在将结果写入平面文件之前将结果加载到内存中。
SqlDataReader允许您以流式方式读取数据,使您的应用程序在这种情况下更具可扩展性。
答案 1 :(得分:1)
由于Nick K在服务器故障上对我的SQL Server 2000 question做了很多帮助,bcp utility对此非常方便。
您可以编写一个批处理文件或快速脚本,用您的查询调用BCP,并将csv,sql直接转储到文本文件中!
答案 2 :(得分:0)
同意上面的Dave Van den Eynde的答案,但我会说,如果你将大量数据推送到这些文件中,并且如果你的应用程序能够支持它,那么值得一看制作一个SSIS包裹。
这可能是完全矫枉过正的,但批量导入/导出经常被忽略。
答案 3 :(得分:0)
或者,您可以避免编写代码并使用BCP.exe: http://msdn.microsoft.com/en-us/library/ms162802(SQL.90).aspx