BCP命令的时候如果列名有多个空格则会失败。

yyj135 2016-07-05 09:58:06
有这样一个表:
CREATE TABLE testA(
id INT,
[Birth Date] DATETIME,
[Join Date] DATETIME
)

执行以下BCP命令:

EXEC master..xp_cmdshell 'bcp dbtest.[dbo].[testA] format nul -f D:\temp\[dbo].[testA].xml -x -c -E -S . -U sa -P 123456';

然后报错:
Error = [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]xml 格式文件中的字段 3 的序号无效。

列名中有空格
请问是什么原因?如何解决,谢谢!
...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyj135 2016-07-06
  • 打赏
  • 举报
回复
引用 3 楼 ap0405140 的回复:
这个应该是bug, 当字段名中含有空格时无法导出xml格式文件. 官方说明: https://connect.microsoft.com/SQLServer/feedback/details/715049/bcp-fails-to-create-an-xml-format-file-if-column-name-contains-a-space 替代方法是去掉bcp的-x参数, 可正常导出格式文件(非xml格式),应该不影响之后的其他应用.

exec master..xp_cmdshell 'bcp dbtest.[dbo].[testA] format nul -f D:\temp\[dbo].[testA].xml -c -E -S . -U sa -P 123456';
BCP导出到fmt格式的可以,但导入的时候也会报错。
唐诗三百首 2016-07-05
  • 打赏
  • 举报
回复
这个应该是bug, 当字段名中含有空格时无法导出xml格式文件. 官方说明: https://connect.microsoft.com/SQLServer/feedback/details/715049/bcp-fails-to-create-an-xml-format-file-if-column-name-contains-a-space 替代方法是去掉bcp的-x参数, 可正常导出格式文件(非xml格式),应该不影响之后的其他应用.

exec master..xp_cmdshell 'bcp dbtest.[dbo].[testA] format nul -f D:\temp\[dbo].[testA].xml -c -E -S . -U sa -P 123456';
yyj135 2016-07-05
  • 打赏
  • 举报
回复
CREATE TABLE testA(
	id INT,
	[Birth Date] DATETIME,
	[Test Col] DATETIME
	)
这样也不行呀,应该不是关键字的问题。
shoppo0505 2016-07-05
  • 打赏
  • 举报
回复
Join是关键字啊

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧