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

发布于 2024-09-27 09:25:32 字数 127 浏览 3 评论 0原文

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

Are there any .Net libraries that provide a way of exporting sql database data to plain text files (i.e. csv\tsv)? SqlBulkCopy only applies to the import part of the solution and I prefer not to be calling any Process.Start calls to open up command prompts to call bcp.exe.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

泪意 2024-10-04 09:25:32

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

Ended up using bcp Process calls unfortunately

与酒说心事 2024-10-04 09:25:32

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

Check out FileHelpers - it allows you to easily load or save data from CSV or other text file formats. Excellent code base, freeware, full C# source available - can't recommend it enough!

贱贱哒 2024-10-04 09:25:32

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

As such there is no .net library which you can use for export data into txt/csv. You can use StreamWriter to write data in txt/csv file.

岁月流歌 2024-10-04 09:25:32

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

Here's a code snippet for what JK was saying:

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();
独闯女儿国 2024-10-04 09:25:32

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

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

Would calling a stored procedure work for you?
I did a quick Google for using bulk copy in a procedure and found this article:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文