BCP导入错误 "投稿规范的字符值无效"

问题描述 投票:3回答:1

我在使用BCP导入导出时,只有1行(导出的第一行)得到 "Invalid character value for cast specification "的错误信息。表结构Col1 -- Numeric(19,0)Col2 -- NVARCHAR(400)Col3 -- NVARCHAR(400)我使用了以下命令。

供出口

EXEC master..xp_cmdshell 'bcp "SELECT TOP 10 Col1, Col2, Col3 FROM Server.dbo.TableName" queryout C:\Data\File.dat -S Server -T -t"<EOFD>" -r"<EORD>" -w'

我以同样的方式生成FORMAT文件。

EXEC master..xp_cmdshell 'BCP Server.dbo.TableName format nul -S Server -T -w -f "C:\Data\File.fmt" -t"<EOFD>" -r"<EORD>" '

现在,当我尝试将数据导入到SQL Server表中时,我得到了错误的""。投放规格的无效字符值"错误日志 "显示我的情况是这样的

#@ Row 1, Column 1: Invalid character value for cast specification @#

?1000   Mytestdataunicoded  nothing

现在我的列数据从哪里开始添加的,还不知道。

当我尝试用格式文件导入时,我能够成功导入,当使用switch -c时,也能够成功导入,但为了某些目的,我们必须使用-w switch来导入。

sql-server-2012 sqlbulkcopy bcp
1个回答
0
投票

当使用-w选项时,我相信BCP会忽略任何-t或-r选项,并使用\t和\n以及字段和行结束符。

来自MS文档。

-w 使用Unicode字符进行批量复制操作。这个选项不会提示每个字段;它使用nchar作为存储类型,没有前缀,使用t/t(tab字符)作为字段分隔符,使用换行符作为行结束符。-w与-c不兼容。

© www.soinside.com 2019 - 2024. All rights reserved.