需要将数据从源复制到接收器,但抛出如下错误

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

我在 ADLS Gen2 中有一个源文件,目标为 sql db。但是当我将数据复制到 SQL 表中时,出现以下错误 故障发生在“Sink”一侧。 ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=数据库操作失败。请搜索错误以获取更多详细信息。,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.InvalidOperationException,Message=数据源中 String 类型的给定值无法转换为指定目标列的 nvarchar 类型。, Source=System.Data,''Type=System.InvalidOperationException,Message=字符串或二进制数据将被截断。,Source=System.Data,'

需要答案

azure
1个回答
0
投票

我创建了一个示例表,如下所示:

create table table2(id int,name nvarchar(5),age int);

这是我的源数据:

id,name,age
1,Laddu,23
2,M.luffy,19
3,illu,40

复制时,你可以看到我遇到了同样的错误。

enter image description here

当源列字符串长度大于接收器 SQL 表列的指定长度时,会出现上述错误。

创建时,我将列值长度指定为

nvarchar(5)
。在我的数据中,字符串
M.luffy
的长度超过此长度,这是此错误的原因。

因此,请检查您的任何源列字符串长度和 SQL 表指定长度,并确保源数据在给定范围内。

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