在SQL Server 2008中如何将查询结果导出为.csv文件?

174

如何在SQL Server 2008中将查询结果导出为.csv文件?


可能是重复的问题:如何使用sqlcmd从SQL Server导出数据为CSV格式? - Martin Smith
你需要转义分隔符吗?到目前为止,大多数答案都假定你不需要,这并不是真正的 CSV。 - Nick
@Nick - 通常分隔符只包含在字符串中,而且它们通常被引号括起来。请参阅我的答案以查看解决方案。https://dev59.com/TG025IYBdhLWcg3wRDq8#32660037 - Entree
我有时会使用Python。 - Eduards
15个回答

2
您可以使用QueryToDoc(http://www.querytodoc.com)。它允许您针对SQL数据库编写查询并将结果导出到Excel、Word、HTML或CSV格式,您只需选择分隔符即可。

2

我希望这不会太晚,我在Windows Scheduler中使用了它;

"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.EXE"
-S BLRREPSRVR\SQLEXPRESS -d Reporting_DB -o "C:\Reports\CHP_Gen.csv" -Q "EXEC dbo.CHP_Generation_Report" -W -w 999 -s ","

它打开了SQL命令.exe并运行了一个为SQL命令设计的脚本。SQL命令脚本非常容易使用,只需进行一些谷歌搜索和尝试即可。您可以看到它选择了一个数据库,定义了输出位置并执行了一个过程。该过程只是从数据库中的表格中选择要显示的行和列的查询。


2
这里值得提到的另一种方法是:
SQLCMD -S SEVERNAME -E -Q "SELECT COLUMN FROM TABLE" -s "," -o "c:\test.csv"

注意:我没有看到任何网络管理员允许您运行PowerShell脚本。

1
请注意,此答案已在“可能的重复”链接https://dev59.com/lHRC5IYBdhLWcg3wD8tV中进行了更详细的讨论。 - mtone

0

你可以使用 SQL Server Management Studio (SSMS) 的 导出向导 或 Azure Data Studio 中结果集的 保存为 CSV 功能。

如果你需要将大量数据(>=2 GB)导出到 CSV,目前 Microsoft 提供的工具不足以满足需求。你可以使用 PowerShell SqlBulkExport 模块 来实现此目的。在 这篇文章 中了解更多关于该模块的详细信息。


-2

当您直接访问服务器时,所有这些都是可能的。但如果您只能从 web / 应用服务器访问服务器呢?嗯,我们很久以前就遇到了这种情况,解决方案是SQL Server导出为CSV


链接...访问被拒绝了吗? - hoggar

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