在 ADF 管道中将表达式转换为数据类型 NVARCHAR 时发生溢出错误

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

将数据从 ServiceNow API 加载到具有 nvarchar(max) 列的 Synapse 专用池中的表时,我在管道中遇到错误。 错误消息指出:

 {"message":"Job failed due to reason: at Sink 'sink1': HdfsBridge::recordReaderFillBuffer - Unexpected error encountered filling record reader buffer: HadoopSqlException: Arithmetic overflow error converting expression to data type NVARCHAR.

有趣的是,当我使用

LEFT(description, 4000)
时,加载过程运行良好。但是,我认识到这不是理想的解决方案,因为它可能会导致数据丢失。 而且我已经验证了接收器表中“描述”列的数据类型确实是 nvarchar(max)。

有人可以提供更好方法的指导吗?

azure-data-factory
1个回答
0
投票

根据文档,Synapse 专用 SQL 池中 nvarchar 数据类型的最大字符长度为 4000

数据类型和最大长度

在这里,您可以看到推荐的数据类型 推荐

解决方法: 创建表以使用堆并使用 nvarchar(MAX),如thispost

中所述
© www.soinside.com 2019 - 2024. All rights reserved.