Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server创建有问题的CSV文件 当使用SQL Server(2005, 2008)“保存结果为…”选项时,我确实得到了CSV,但是SQLServer没有做我认为适当的CSV创建。_Sql Server_Csv - Fatal编程技术网

Sql server SQL Server创建有问题的CSV文件 当使用SQL Server(2005, 2008)“保存结果为…”选项时,我确实得到了CSV,但是SQLServer没有做我认为适当的CSV创建。

Sql server SQL Server创建有问题的CSV文件 当使用SQL Server(2005, 2008)“保存结果为…”选项时,我确实得到了CSV,但是SQLServer没有做我认为适当的CSV创建。,sql-server,csv,Sql Server,Csv,具体地说,如果我的数据包含逗号,那么这些字段就不会用双引号括起来。我现在正在查看的特定数据集不包含带双引号的字段,但如果包含双引号,我也不确定SQL Server是否会正确执行这些操作 每周我都要在远程服务器上的数据库上运行一个查询,生成大约36k行,并且我必须以CSV格式将其返回给我办公室的某个人。到目前为止,我一直在复制数据,然后将其粘贴到Excel(通过远程桌面)。但是从远程剪贴板粘贴36k行需要相当长的时间。发生这种情况时,Excel会给出各种“等待OLE操作完成”的消息框 我更愿意只运

具体地说,如果我的数据包含逗号,那么这些字段就不会用双引号括起来。我现在正在查看的特定数据集不包含带双引号的字段,但如果包含双引号,我也不确定SQL Server是否会正确执行这些操作

每周我都要在远程服务器上的数据库上运行一个查询,生成大约36k行,并且我必须以CSV格式将其返回给我办公室的某个人。到目前为止,我一直在复制数据,然后将其粘贴到Excel(通过远程桌面)。但是从远程剪贴板粘贴36k行需要相当长的时间。发生这种情况时,Excel会给出各种“等待OLE操作完成”的消息框

我更愿意只运行查询,将结果保存为远程服务器本身上的CSV,然后复制文件


从长远来看,我将为自己编写一个自动执行此操作的过程,但我在SQL Server上遇到此问题已有多年了,但直到现在,痛苦程度还不足以让我找到解决方案。

对不起,我现在不在windows应用程序箱中-您是在谈论SQL Management Studio中的查询管理器应用程序吗


最好的方法是使用SQL Server提供的数据导入/导出工具(很抱歉,现在无法检查名称)

选择菜单项“工具”>“选项”,此时将显示“选项”对话框。在“选项”对话框中,导航到查询结果>SQL Server>“结果到文本”。选择“输出格式”项“自定义分隔符”。在“自定义分隔符”字段中指定您的分隔符。单击“确定”保存

打开查询窗口并选择菜单项查询>“结果到”和“结果到文件”或“结果到文本”。运行将使用指定分隔符输出的查询

不过,对于自动化过程,请查看用于从SQL Server输出数据的SQL Server命令行实用程序。通过命令行开关,您可以完全控制分隔符和文本限定符。使用BCP是非常简单的,我建议使用它,即使您的长期过程中的其他元素不到位


我有一个调用BCP的自动化流程,它使用一个存储过程来收集数据,这些数据每晚压缩并传送到客户端。我的进程在SQL Server计算机上的计划任务启动的批处理文件中运行。

这听起来像是SSMS错误,而不是SQL Server错误。我认为乔的回答会解决你的问题


如果您有可用的集成服务,我恳请您考虑一下,您可能很快就能完成一个包

很长一段时间以来,我一直在使用内部制作的VBS脚本将结果集导出为CSV文件

以下是一个链接:

下面是一个示例用法:

c:>cscript //nologo exec_script.vbs /s:MyServer /d:MyDb /q:"exec MyStoredProc" /r:MyFile.csv /header

首先,有人给出的“QUOTENAME”答案怎么了?它工作得很好。第二,谢谢大家的回答。但所有这些实际上都是为了重复运行同一个查询(当然这就是我给出的示例)。似乎没有解决方案“修复”SQLServerManagementStudio的处理。我用引号括起来是因为我并不是说这是一个bug,只是说我个人不喜欢这种行为。
Quotename
答案被屏蔽了,因为它只对文本有效。我更新了我的答案,并给出了在输出到文本时指定分隔符的说明。谢谢@Martin和@Jay Riggs。杰伊,我不记得是谁回答的,所以我想答案可能被删除了。很高兴知道你仍然给出了答案。好主意,内维尔。我来看看。至少对于那些我必须反复做的事情,我需要花点时间来深入研究——但是谢谢你的脚本文件。我会浏览一下,看看如何根据我的需要使用它。