如何将sql(export)表批量复制到.Net中的csv或tsv文件?

时间:2010-10-13 06:41:20

标签: c# sql sqlbulkcopy

是否有任何.Net库提供了将sql数据库数据导出为纯文本文件(即csv \ tsv)的方法? SqlBulkCopy仅适用于解决方案的导入部分,我不想调用任何Process.Start调用来打开命令提示来调用bcp.exe。

5 个答案:

答案 0 :(得分:2)

结帐FileHelpers - 它可让您轻松加载或保存CSV或其他文本文件格式的数据。优秀的代码库,免费软件,完整的C#源代码 - 不能推荐它!

答案 1 :(得分:2)

不幸的是,使用bcp进程调用结束了

答案 2 :(得分:1)

因此,没有.net库可用于将数据导出到txt / csv。您可以使用StreamWriter在txt / csv文件中写入数据。

答案 3 :(得分:1)

这是JK所说的代码片段:

System.Diagnostics.Process p = new System.Diagnostics.Process();             
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "BCP.exe";
p.StartInfo.Arguments = "\"SELECT * FROM DATABASENAME.dbo.TABLENAME\" queryout \"FILENAME.txt\" -S \"SEVERNAMEHERE\" -U USERNAME -P PASSWORD -c -k";
p.Start(); 
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

答案 4 :(得分:0)

调用存储过程会为您工作吗? 我做了一个快速谷歌在程序中使用批量复制,发现这篇文章:

http://www.simple-talk.com/sql/database-administration/creating-csv-files-using-bcp-and-stored-procedures/