繁体   English   中英

DB2 上的 Azure 数据工厂复制失败

[英]Azure Data Factory Copy Failure on DB2

我需要对 i 系列 DB2 数据库进行完整提取 (SELECT * FROM)。 我正在使用由于特殊字符编码而导致源提取失败的复制活动:

错误代码 2200

故障类型 用户配置问题

详细信息失败发生在“源”端。 ErrorCode=DB2DriverRunFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=驱动程序抛出的错误。 Sql 代码:'-343',Source=Microsoft.DataTransfer.ClientLibrary.Db2Connector,''Type=Microsoft.HostIntegration.DrdaClient.DrdaException,Message=HISMPCB0001 BasePrimitiveConverter 发生异常。 异常描述:输出缓冲区小于所需大小 12 SQLSTATE=HY000 SQLCODE=-343,Source=Microsoft.HostIntegration.Drda.Requester,'

我在这里研究过类似的问题: https ://docs.microsoft.com/en-us/answers/questions/467456/failure-happened-source-side-in-copy-activity-for.html

我认为问题的根源是本机 ADF 连接器对 DB2 的数据类型映射:当加载到接收器时,DB2 数据类型被转换为服务内部使用的临时数据类型。 这些临时数据类型似乎不兼容,导致源头失败:
https://docs.microsoft.com/en-us/azure/data-factory/connector-db2?tabs=data-factory#data-type-mapping-for-db2

我尝试了以下失败:

  1. 添加容错以跳过不兼容的行
  2. 更改不兼容列的数据类型

在摄取查询上使用数据类型对某些列有效,但对其他列无效——这是一个不一致的解决方案,正在寻找有关如何解决此问题并保持完整源查询不变的建议。

有了这些给定的信息,尚不清楚数据的哪一部分实际导致了问题。 问题可能来自列或列中的某些值。

在从源到接收器的中间类型之间支持以下数据类型转换。

在此处输入图像描述

我建议您,如果您有支持计划,您可以提交支持票,否则请发送电子邮件至 azcommunity@microsoft.com。 提供订阅 ID 和示例数据,以便他们提供准确的解决方案。

尝试启用容错数据类型,在 azure db 中查看不允许出现的字符问题: https ://docs.microsoft.com/en-us/azure/data-factory/copy-activity-fault-tolerance

所以我建议在你的表中执行一个distinct,并在移动副本之前检查你在某行中是否有不同的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM