是否有任何 .Net 库可以提供将 SQL 数据库数据导出为纯文本文件(即 csv\tsv)的方法?SqlBulkCopy 仅适用于解决方案的导入部分,我不希望调用任何 Process.Start 调用来打开命令提示符以调用 bcp.exe。
是否有任何 .Net 库可以提供将 SQL 数据库数据导出为纯文本文件(即 csv\tsv)的方法?SqlBulkCopy 仅适用于解决方案的导入部分,我不希望调用任何 Process.Start 调用来打开命令提示符以调用 bcp.exe。
最终不得不使用 bcp 进程调用
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 文件。
你考虑过调用存储过程吗? 我在谷歌上快速搜索了一下使用批量复制的存储过程,并找到了这篇文章: