来自 SQL Server 的云数据融合复制管道 |小数列问题

问题描述

如果表在源中具有类型为 decimal(38,32) 的列,则 sql Server 实时复制管道将不起作用。它继续运行,但没有数据被拉取。

如果我仔细查看 Stackdriver 日志,我会看到以下错误

数字字段“XXXXXXXX”具有无效的精度“1”和小数位数“32”。精度最大为 38,小数位数最大为 9

如果我取消选择此列,管道将起作用。

解决方法

  • Bigquery 正在考虑将 decimal(38,32) 作为一种 NUMERIC DECIMAL 数据类型,该数据类型支持精度 38 并扩展到 9。
  • 我建议您将其减少到 NUMERIC DECIMAL 类型允许的限制或使用十进制类型 BIGNUMERIC DECIMAL,它支持高达 76 的精度和高达 38 的缩放。