【发布时间】:2016-09-30 22:22:05
【问题描述】:
我正在尝试运行以下查询:
BCP "select * from myTable " queryout C:\Temp\myTable.csv -t, -c -T -S
表:
Process Verb Match
P1 V1 FALSE
P2 V2 TRUE
CSV:
Match Process Verb
P1 V1 FALSE
P2 V2 TRUE
出于某种原因,BCP 正在按字母顺序对标题行进行排序。
上述命令在 SQL Server 2008 R2 中运行得非常好,但由于某种原因它在 SQL Server 2012 中出现了问题……我该如何解决这个问题?
【问题讨论】:
-
奇怪的行为!如果您尝试:
bcp "select Process, Verb, Match from myTable " queryout C:\Temp\myTable.csv -t, -c -T -S会怎样?或bcp myTable in "C:\Temp\myTable.csv" -c -T -S -
@gofr1 :这个方法有一些问题:1-我正在使用动态列数动态创建它,2-列数可以高达 150-200,3-它曾经在sql 2008 R2中工作
-
您是否安装了 SS2012 的最新服务包?第二:如果您编写表格脚本(来自 SSMS,右键单击表格和脚本 CREATE),列的顺序是否如您所愿?
-
您确定您的查询和 BCP 连接到同一个数据库吗?同一个服务器?如果您通过 BCP 转储列顺序并检查它是否仍然是您所期望的呢?我一直在 SQL 2012 中通过 BCP 转储数据,说实话从来没有遇到过这个问题。
-
@TT。 - 是的,如果我右键单击并从 SSMS 中选择列,它们的顺序是正确的。
标签: sql-server csv sql-server-2012 export-to-csv bcp