ADF 复印活动失败

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

源是本地 SQL 数据库,接收器是 Azure SQL 数据库 (Synapse)。 我收到以下错误:

Failure happened on 'Sink' side. ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed. Please search error to get more details.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=PdwManagedToNativeInteropException ErrorNumber: 46724, MajorCode: 467, MinorCode: 24, Severity: 20, State: 2, Exception of type 'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException' was thrown.,Source=.Net SqlClient Data Provider,SqlErrorNumber=100000,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=100000,State=1,Message=PdwManagedToNativeInteropException ErrorNumber: 46724, MajorCode: 467, MinorCode: 24, Severity: 20, State: 2, Exception of type 'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException' was thrown.,},],'

它正在复制 83,972 行中的 80,397 行。 因此,我将并行度设置为 1 并添加了一个 order by 子句,以便我可以识别坏行。 我从源查询中排除了我认为是坏行的内容,但它仍然失败并出现相同的错误。 然后我只包含了那个坏行并且它起作用了。

无论如何,这一行似乎没有任何问题。 所以要么我有错误的行,要么这不是数据类型问题。 如何让 DF 向我提供错误的更多详细信息,以便我了解出了什么问题?

azure-data-factory
1个回答
0
投票
Failure happened on 'Sink' side. ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed. Please search error to get more details.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=PdwManagedToNativeInteropException ErrorNumber: 46724, MajorCode: 467, MinorCode: 24, Severity: 20, State: 2, Exception of type 'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException' was thrown.,Source=.Net SqlClient Data Provider,SqlErrorNumber=100000,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=100000,State=1,Message=PdwManagedToNativeInteropException ErrorNumber: 46724, MajorCode: 467, MinorCode: 24, Severity: 20, State: 2, Exception of type 'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException' was thrown.,},],'

根据这个

当目标的一列或多列的定义大小小于您尝试复制的数据时,就会出现上述错误。尝试增加列的大小。

要解决上述错误,如果您知道接收器中的列,请使用以下代码修改列的大小:

alter table table_name alter column columne_name datatype NULL

注意 - 错误消息未提供有关导致复制活动失败的列或行的详细信息。您需要手动解决这个问题。

要找出错误,即哪些列插入失败,请转到设置,在设置中启用暂存并提供 Blob 暂存存储的路径,如下所示:

enter image description here

欲了解更多信息,您可以参考类似问题

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