BCP错误将多行文件导入Azure SQL数据仓库时,数值超出范围

时间:2015-12-01 17:11:06

标签: azure azure-sql-database data-warehouse bcp azure-sqldw

我尝试使用bcp实用程序加载我的Azure SQL数据仓库,但在问题发生后一直遇到问题...我终于得到了一个.txt文件,其中一条记录要成功导入,但是现在当我放入将两个或多个记录放入文件中,它会以错误(通过错误输出文件)轰炸出来:

  

第1行,第5列:数值超出范围

数据如下所示:

2014-06-01,11111,test,used,1
2014-06-01,22222,test,used,1

和我导入的表格如下所示:

[Date] (date, not null)
[Code] (varchar(50), not null)
[Model] (varchar(100), not null)
[Type] (varchar(20), not null)
[Quantity] (int, not null)

我认为它与新的线条角色有关,但我还没有能够解决它。我已经尝试将Notepad ++中的编码更改为ANSI,ISO-8859-1,UTF-8不带BOM,以及UTF-16 LE&使用Visual Studio CODE。当' ANSI'指定后,单行文件导入成功。行尾序列设置为LF,我的bcp命令如下:

bcp Schema.Table in C:\BcpFiles\sourceData.txt -S serverName -d databaseName -U userName -P password -q -c -t "," -r/n -e C:\BcpFiles\Errors.txt

1 个答案:

答案 0 :(得分:1)

-r参数需要反斜杠而不是转发:请尝试-r \ n。本文介绍了各种组合:https://msdn.microsoft.com/en-gb/library/ms191485.aspx

更新:

create table tst (
[Date] date not null,
[Code] varchar(50) not null,
[Model] varchar(100) not null,
[Type] varchar(20) not null,
[Quantity] int not null
)

然后用这个:

bcp dbo.tst in so.txt -S TONYMSI -d AdventureWorks2012 -T -q -c -t“,” - r \ n

工作得很好。