【发布时间】:2026-01-07 04:05:02
【问题描述】:
我需要将表 BCP 转换为制表符分隔的文件,但我需要表的第一条记录中的列名。问题 1:我认为 BCP 没有为此提供开关是对的吗?问题2:如果不是,为什么?
我尝试了以下操作:
BCP "declare @colnames varchar(max); select @colnames=coalesce (@colnames+char(9), '')
+ Column_Name from db.information_Schema.columns where table_name='table1' order by
ordinal_position; select @colnames" queryout Table1_Columns.tsv -S?? -U?? -P?? -f** -e**
格式文件如下所示:
9.0
1
1 SQLCHAR 0 100 "\r\n" 1 Column_Names SQL_Latin1_General_CP1_CI_AS
这给我一个列名的文件,然后第二个 BCP 命令给我一个数据文件,我只是 DOS 将两者复制在一起。问题3:我是聪明还是什么?问题4:为什么它不起作用?我得到了错误:
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Host-file columns may be skipped only when
copying into the Server
【问题讨论】:
标签: sql sql-server bcp