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

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

{ “错误代码”:“2200”, “消息”:“ErrorCode = FailedDbOperation,'类型= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,消息= A 数据库操作失败并出现以下错误: 'PdwManagedToNativeInteropException 错误号:46724,主要代码: 467,次要代码:24,严重性:20,状态:2,异常类型 '微软.SqlServer。 DataWarehouse.Tds.PdwManagedToNativeInteropException' 是 抛出。',Source=,''Type=System.Data.SqlClient.SqlException,Message=PdwManagedToNativeInteropException 错误号:46724,主要代码:467,次要代码:24,严重性:20, 状态:2,类型异常 'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException' 被抛出。,来源=.Net SqlClient 数据 提供程序,SqlErrorNumber=100000,类=16,错误代码=-2146232060,状态=1,错误=[{类=16,编号=100000,状态=1,消息=PdwManagedToNativeInteropException 错误号:46724,主要代码:467,次要代码:24,严重性:20, 状态:2,类型异常 'Microsoft.SqlServer.DataWarehouse.Tds.PdwManagedToNativeInteropException' 被抛出。,},],'", "failureType": "用户错误", “目标”:“hana_ODS_DEV”}

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

azure azure-sql-database hana azure-data-factory
4个回答
7
投票

当目标的一列或多列的定义大小小于您尝试复制的数据时,就会出现此错误。 只需增加列的大小,您的 ADF 就会平稳运行。 共享片段查询以增加 ADW 中列的大小,

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

注意-

  1. 您无法减小 ADW 中列的大小。您可以增加尺寸。
  2. 错误消息未提供有关导致复制活动失败的列或行的详细信息。您需要手动解决这个问题。

让我知道这是否有效。


1
投票

嗯,我找到了这个问题的答案。有时可能是源数据类型和列数据类型的问题。如果您正在将数据从任何源迁移到 Azure SQL(中间没有任何 BLOB)并且遇到此问题,并且想要了解其所在的确切问题,请单击接收器中的允许 Poly Base,在设置中启用暂存并给出一个blob 暂存存储的路径,对其进行调试...它会向您显示导致错误的确切原因。


1
投票

我遇到了同样的错误,上述两点对于找到解决方案很有用。

这就是我们所做的

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

不确定是否是由于日志记录(逻辑上应该是)或暂存属性或两者的组合。

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


0
投票

在 ADW nvarchar(max) 只允许 16,000 个字符,因此源可能有超过这意味着出现此错误,因此需要检查列的源长度,特别是超过 16,000 的日期,忽略 id 放置负载,否则会考虑长度通过使用子字符串来解决该问题

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