簡體   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