簡體   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