从 Mysql 摄取时出现 Azure 数据工厂错误

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

我尝试使用自托管 IR 从本地 MySQL source 摄取到 Azure SQL sink,并使用复制活动定义表类型。源数据集可以很好地预览数据,但是在调试复制活动时,我收到以下错误

“Sink”侧发生故障。 ErrorCode=InvalidParameter,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=属性''的值无效:'不支持列'id'的类型。 类型为“UInt64”。,Source=,“Type=System.ArgumentException,Message=不支持列“id”的类型。 类型为'UInt64',来源=Microsoft.Data.SqlClient,'

Mysql 表的主键 id 列是一个未分配的 bigint,也许 IR 无法处理它。我在 Azure SQL 表上将 id 列定义为 varchar、decimal 等,以捕获任何类型不匹配,但仍然收到相同的错误,有什么建议吗?

mysql azure-data-factory
1个回答
0
投票

“Sink”侧发生故障。 ErrorCode=InvalidParameter,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=属性''的值无效:'不支持列'id'的类型。类型为“UInt64”。,Source=,“Type=System.ArgumentException,Message=不支持列“id”的类型。类型为'UInt64',来源=Microsoft.Data.SqlClient,'

您遇到的错误表明 Azure 数据工厂 (ADF) IR 无法处理

sink
端的
UInt64
(MySQL 中的 BIGINT UNSIGNED)类型。根本原因可能是 MySQL
BIGINT UNSIGNED
与 Azure SQL 中支持的数据类型不匹配。

  • 首先,您可以尝试更新复制活动的 Json 负载中的数据类型,如下所示:
"type": "String",
"physicalType": "varchar"
  • 如果这不起作用,您可能需要将 MySql 表中源列的数据类型更改为 varcharint 类型,然后在复制活动完成后将数据复制到 Azure SQL,您可以再次将数据类型恢复为之前的数据类型.

如果问题仍然存在,请在此处

提出支持请求
© www.soinside.com 2019 - 2024. All rights reserved.