繁体   English   中英

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

[英]How to bulk copy sql (export) tables to a csv or tsv files in .Net?

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM