首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用sqlcmd从SQL Server中导出CSV格式的数据?

如何使用sqlcmd从SQL Server中导出CSV格式的数据?
EN

Stack Overflow用户
提问于 2009-01-09 02:49:10
回答 6查看 447.9K关注 0票数 150

我可以很容易地将数据转储到文本文件中,如下所示:

sqlcmd -S myServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" 
     -o "MyData.txt"

但是,我已经查看了SQLCMD的帮助文件,但没有看到专门针对CSV的选项。

有没有办法使用SQLCMD将表中的数据转储到CSV文本文件中

EN

回答 6

Stack Overflow用户

发布于 2011-03-25 13:19:21

这不是bcp的本意吗?

bcp "select col1, col2, col3 from database.schema.SomeTable" queryout  "c:\MyData.txt"  -c -t"," -r"\n" -S ServerName -T

从命令行运行此命令以检查语法。

bcp /?

例如:

usage: bcp {dbtable | query} {in | out | queryout | format} datafile
  [-m maxerrors]            [-f formatfile]          [-e errfile]
  [-F firstrow]             [-L lastrow]             [-b batchsize]
  [-n native type]          [-c character type]      [-w wide character type]
  [-N keep non-text native] [-V file format version] [-q quoted identifier]
  [-C code page specifier]  [-t field terminator]    [-r row terminator]
  [-i inputfile]            [-o outfile]             [-a packetsize]
  [-S server name]          [-U username]            [-P password]
  [-T trusted connection]   [-v version]             [-R regional enable]
  [-k keep null values]     [-E keep identity values]
  [-h "load hints"]         [-x generate xml format file]
  [-d database name]

请注意,bcp不能输出列标题。

请参阅:bcp Utility单据页

上面页面中的示例:

bcp.exe MyTable out "D:\data.csv" -T -c -C 65001 -t , ...
票数 62
EN

Stack Overflow用户

发布于 2011-09-01 00:04:44

对于任何希望这样做但也有列标题的人,请注意,这是我使用批处理文件的解决方案:

sqlcmd -S servername -U username -P password -d database -Q "set nocount on; set ansi_warnings off; sql query here;" -o output.tmp -s "," -W
type output.tmp | findstr /V \-\,\- > output.csv
del output.tmp

这会将初始结果(包括头和数据之间的分隔符-,-)输出到一个临时文件中,然后通过findstr过滤掉该行。请注意,它并不完美,因为如果输出中只有一列,那么它将过滤掉-,--it不起作用,而且它还会过滤掉包含该字符串的合法行。

票数 12
EN

Stack Overflow用户

发布于 2016-11-16 13:04:46

BCP的备用选项:

exec master..xp_cmdshell 'BCP "sp_who" QUERYOUT C:\av\sp_who.txt -S MC0XENTC -T -c '
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/425379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档