【问题标题】:SQL Server 2008 query output to CSV fileSQL Server 2008 查询输出到 CSV 文件
【发布时间】:2016-03-18 04:36:33
【问题描述】:

我正在使用 SQL Server 2008,我想使用选择查询生成 CSV 文件。 我知道 SQL CMD 和 BCP,但以下是我对它的一些限制。

  • 我的查询中有很多参数,并且我有多个查询需要按顺序运行/并且能够回滚。
  • 我正在从不提供运行命令选项的 Workflow 产品中运行查询,请参阅此处(enter image description here)
  • 没有视觉工作室或编码的奢侈

我在下面找到了一个 MySQL 示例,我正在寻找一个用于 SQL Server 2008 的示例。

从表名中选择 * 到 outfile 'd:/report.csv' 字段中以 ',' 结尾;

提前致谢。 D

【问题讨论】:

  • 前一个问题有帮助吗? stackoverflow.com/questions/6354130/…我不知道你说的I am running a query from within a WF product是什么意思
  • 可以使用批处理文件吗?因为不运行 cmd 命令或使用 management studio 就没有更多选项了。
  • @Used_By_Already 这对我来说是正确的 - 但也许我不明白这个问题。
  • 糟糕,抱歉我使用了缩写。我的意思是工作流,我在工作流产品中有一个步骤来运行查询。
  • @Doyizode 试试我的答案,它对我有用

标签: sql sql-server-2008 csv


【解决方案1】:

将查询结果导出到逗号分隔文件的步骤

  • 打开 SQL Server Management Studio

  • 连接到服务器

  • 然后转到工具菜单 > 单击选项 > 单击查询结果 > 单击 SQL Server > Results To Text 。见下图 -

  • 在顶部有 Label Out 格式:在右上角您可以看到 一个组合框选择从组合框分隔的逗号

  • 然后点击确定

  • 这会将查询结果输出到 .rpt 文件,并且该文件有逗号
    分离数据。您可以使用 Microsoft Excel 打开此文件

推荐:

  • 应用这些步骤后,关闭所有已打开的选项卡,然后 打开一个新标签来测试它是否有效

  • 用于测试编写一个查询,如“从表名中选择 *”,然后按
    F5 运行查询

  • 这会打开一个弹出窗口以将查询结果保存到文件,给它一个名字 它将与 filename.rpt 一起保存到所需的位置。你可以
    用excel打开

【讨论】:

  • 谢谢 Heemanshu,我必须从工作流产品而不是 SQL Server 管理工作室运行查询。这还能用吗?
  • @Doyizode 好的,让我确认一下。实际上,您指定将使用 sql server 2008 。您使用的是什么类型的工作流产品
  • @Doyizode 您是否尝试过以下链接上的答案 - answers.laserfiche.com/questions/77293/…
  • 会尽力让你知道的。
  • @Doyizode 好的去吧
【解决方案2】:

我找到了这个查询,它很有帮助。

声明@SQL NVARCHAR(4000)

SET @SQL = 'bcp "SELECT * FROM table" queryout "c:\FILENAME.csv" -t, -c -T'

EXEC MASTER..XP_CMDSHELL @SQL

再次感谢..

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多