我在使用 ADF 时收到以下错误,我的源是本地 SQL Server,目标是 ADW。请对此有所说明:
数据库操作失败。来自数据库执行的错误消息:
错误代码=失败的数据库操作,'类型=Microsoft.数据传输.Common.共享.混合交付异常,消息=将数据加载到 SQL 数据仓库时发生错误,源 =Microsoft.数据传输.客户端库,''类型=系统.数据.SqlClient.SqlException,消息=查询中止 -- 从外部源读取时达到最大拒绝阈值(0 行(:在处理的总共 1 行中,有 1 行被拒绝。 (/22799e45-a078-4f43-9050-87294328db61/data.28013af9-5443-4bc1-bfd4-b0299552069d.txt(列序号:4,预期数据类型:VARCHAR(800( 排序SQL_Latin1_General_CP1_CI_AS不为空,违规值:
这是通过使用带有哈希分布的 varchar(MAX( 来解决的,因为我的源包含文本数据类型,它包含一些大于 8k 字符的值,并且 polybase 不支持最大值,
所以不得不在没有polybase的情况下复制数据,并使用varchar(MAX(代替文本。
当我运行管道时,所有数据都复制到 ADW 中。