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

C# 如何将sql(导出)表批量复制到.Net中的csv或tsv文件?,c#,sql,sqlbulkcopy,C#,Sql,Sqlbulkcopy,是否有任何.Net库提供将sql数据库数据导出到纯文本文件(即csv\tsv)的方法?SqlBulkCopy仅适用于解决方案的导入部分,我不希望调用任何进程。启动调用以打开命令提示调用bcp.exe。因此,没有可用于将数据导出到txt/csv的.net库。您可以使用StreamWriter在txt/csv文件中写入数据。调用存储过程对您有用吗? 我在谷歌上快速搜索了一下在程序中使用批量复制的情况,发现了这篇文章: 签出-它允许您轻松加载或保存来自CSV或其他文本文件格式的数据。优秀的代码库、免费

是否有任何.Net库提供将sql数据库数据导出到纯文本文件(即csv\tsv)的方法?SqlBulkCopy仅适用于解决方案的导入部分,我不希望调用任何进程。启动调用以打开命令提示调用bcp.exe。

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

调用存储过程对您有用吗? 我在谷歌上快速搜索了一下在程序中使用批量复制的情况,发现了这篇文章:


签出-它允许您轻松加载或保存来自CSV或其他文本文件格式的数据。优秀的代码库、免费软件、完整的C#源代码——推荐还不够

不幸的是,最后使用了bcp进程调用

以下是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();