这就是我使用BCP的方式:
-以本机内容(-n)生成格式文件
bcp Sales.dbo.Num format nul -n -f D:\Format.fmt -T -S .\sqlexpress
-使用上述格式文件导出表格
bcp Sales.dbo.Num out D:\FactNum.csv -f D:\Format.fmt -T -S .\sqlexpress
但是我所做的输出.csv总是乱码。
P.S。
如果格式文件为char版本(带有-c参数),则效果很好
我尝试了xml本机版本的格式文件,但是没有帮助
通过this和MSDN上的基本BCP文档
请提出建议
答案 0 :(得分:0)
您所说的“乱码”是使用本机(-n)数据时得到的。数据以SQL Server的本机格式(而不是ascii文本)写入文件。我相信您想查看ASCII文本?如果是这样,那就是字符(-c)选项的作用。
在这方面,使用格式文件与文件的“格式”无关。
有数据的格式(由-c,-n和其他选项设置),然后有列的格式...如果需要的话,由格式文件定义。
您正在以本机格式导出数据,但是您希望它看起来像不是SQL本机格式的数据。 SQL本机格式不是供人类使用的,而是由SQL Server读取的。