复制活动失败,并出现以下错误

时间:2018-08-02 14:49:57

标签: azure azure-sql-database hana azure-data-factory-2

  

{       “ errorCode”:“ 2200”,       “ message”:“ ErrorCode = FailedDbOperation,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message = A   数据库操作失败,出现以下错误:   'PdwManagedToNativeInteropException错误编号:46724,专业代码:   467,MinorCode:24,Severity:20,State:2,类型的异常   'Microsoft.SqlServer。   DataWarehouse.Tds.PdwManagedToNativeInteropException'是   ',Source =,''Type = System.Data.SqlClient.SqlException,Message = PdwManagedToNativeInteropException   错误编号:46724,主要代码:467,次要代码:24,严重性:20,   状态:2,类型异常   'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException'   被抛出。,Source = .Net SqlClient数据   Provider,SqlErrorNumber = 100000,Class = 16,ErrorCode = -2146232060,State = 1,Errors = [{Class = 16,Number = 100000,State = 1,Message = PdwManagedToNativeInteropException   错误编号:46724,主要代码:467,次要代码:24,严重性:20,   状态:2,类型异常   'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException'   被抛出。,},],'“,       “ failureType”:“ UserError”,       “ target”:“ hana_ODS_DEV”}

任何人都可以让我知道此错误的主要原因吗?我正在尝试将数据从SAP HANA迁移到Azure SQL数据仓库中

3 个答案:

答案 0 :(得分:1)

当目标的一列或多列定义的大小小于您要复制的数据时,将发生此错误。 只需增加列的大小,您的ADF就可以平稳运行。 共享代码段查询以增加ADW中列的大小,

更改表表名 更改列 columne_name 数据类型NULL

注意-

  1. 您无法在ADW中减小列的大小。您可以增加大小。
  2. 由于复制活动失败,错误消息没有提供有关列或行的详细信息。您需要手动找出答案。

让我知道这是否可行。

答案 1 :(得分:0)

好吧,我找到了这个问题的答案。有时可能是源数据类型和列数据类型的问题。如果您要将数据从任何源迁移到Azure SQL,而中间又没有任何BLOB,并且想解决此问题,并且想知道确切的问题所在,请单击接收器中的allow poly base,在设置中启用暂存并给出一个Blob分段存储的路径,对其进行调试。...它向您显示导致错误的确切原因。

答案 2 :(得分:0)

我遇到了相同的错误,上面提到的两点都有助于找到解决方案。

这就是我们所做的

将数据从Blob存储复制到Azure数据仓库表时遇到此错误。 我们已经将日志记录和容错设置为“跳过和记录不兼容的行”,即使在此之后,我们仍然收到错误,并且活动因失败而终止,这的确是因为源列值的大小大于目标值列大小。 然后,我们在Blob存储中设置了一个临时区域,以某种方式,负载跳过了不兼容的行并处理了数据。

不确定是由于日志记录(从逻辑上来说应该是),登台属性还是两者的组合。

不兼容的行和负责该文件的文件存储在Log / polybase /.../ rejectedrows文件夹中。