使用ssms将数据从sql server导出为CSV

l--*_*''' 5 sql sql-server ssms sql-server-2008

我需要使用SSMS从SQL Server 2008中的几个表导出数据.我希望使用本地数据导出向导 ; 我想改用查询.这意味着我不能使用sqlcmdbcp.

如何使用查询从SQL Server 2008导出数据?

我需要它以逗号分隔并双引号作为文本限定符.

非常感谢任何指导/帮助.

Jam*_*See 9

您可以轻松地从SSMS创建CSV输出,但它不会进行引用,因此您可能希望在步骤6中选择类似制表符分隔的格式:

  1. 打开一个新的查询窗口.
  2. 创建SQL查询.
  3. 在查询窗口中单击鼠标右键.
  4. 选择查询选项...
  5. 选择结果下的文本.
  6. 更改输出格式:以逗号分隔.
  7. 将每列中显示的最大字符数更改为8000或适当的值.
  8. 单击确定.
  9. 在查询窗口中单击鼠标右键.
  10. 选择结果到和结果到文件.
  11. 执行您的查询.
  12. 选择文件名和位置.
  13. 单击保存.


swa*_*eck 5

您可以运行xp_cmdshell以运行bcp操作:

use [master];

declare @sql nvarchar(4000)
select @sql = 'bcp "select * from sys.columns" queryout c:\file.csv -c -t, -T -S'+ @@servername
exec xp_cmdshell @sql
Run Code Online (Sandbox Code Playgroud)

当然,您必须弄清楚如何格式化限定符(可能通过格式文件)

编辑:

您的源查询需要是以下内容:

SELECT IntValue + '"' + CharValue + '"' FROM TABLE
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要启用此功能

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)

  • @АртёмЦарионов要求此处的人员登录您的盒子以获取审核您的代码是不礼貌的.我们需要在此网站上进行互动,以便人们可以为他们的问题找到答案_.鼓励某人登录您的盒子并不能帮助下一个遇到同样问题的人.如果你的问题是独特的,也许你正在努力解决错误的问题? (4认同)