如何在.Net中批量复制SQL(导出)表到CSV或TSV文件?

4

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

5个回答

4

最终不得不使用 bcp 进程调用


2
检查一下FileHelpers - 它可以让你轻松地从CSV或其他文本文件格式中加载或保存数据。优秀的代码库, 免费软件, 完整的C#源代码可用 - 我强烈推荐!

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();

1

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


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接