0

在使用 SDP 从 Cloudant 提取数据并填充 dashDB 时,我偶尔会在 dashdb“XXXX_OVERFLOW”表中看到如下所示的错误消息:

EXCEPTION
The value type for json field XXXX was presented as java.lang.String 
but the discovered data type of the table's column was Boolean. The document   
could not be imported into the created database.

_ID
mydocument-12345

问题

  1. 为什么我会收到此错误?
  2. 我该如何解决?
4

1 回答 1

2

SDP 必须为Cloudant 文档中存在的每个 JSON 数据类型确定匹配的 SQL 数据类型。JSON 数据类型系统(请参阅http://json.org )与 SQL 数据类型系统(例如,请参阅DB2 LUW 9.8 数据类型)相比要通用得多。因此,SDP 算法采用一些启发式方法来计算通用 JSON 类型的最佳匹配 SQL 数据类型。

例如,根据在文档样本中找到的属性值,将 JSON数字映射到 SQL浮点数或 SQL整数。

仅使用 'TRUE/FALSE'的 JSON字符串将创建一个 SQL布尔值作为结果。

  1. 您收到此错误是因为在发现的样本之外找到的某些值无法转换为使用的 SQL 数据类型。

  2. 解决此问题的唯一选择是

    • 修改单个文档并修改有问题的值或
    • 将模式发现期间使用的样​​本大小增加到无限更多信息
于 2015-09-29T12:49:05.663 回答