我在工作中的许多项目中使用 Pentaho 数据集成。我们主要使用 Postgres 作为我们的数据库。我们的一个旧表有两列设置为类型 bit(1) 以存储 0 表示 false 和 1 表示 true。
我的任务是在我们的开发环境中将生产表与副本同步。我正在使用表格输入读取数据并立即尝试进行插入/更新。但是,由于 PDI 转换为布尔值,它失败了。我更新了查询以将值转换为整数以保留 0 和 1,但是当我再次运行它时,我的转换失败,因为整数不能是位值。
我已经找了几天尝试不同的事情,比如使用 javascript 步骤转换为位,但我无法成功读取位类型并使用插入/更新步骤来存储数据。我也不相信插入/更新步骤具有更新用于定义列数据类型的 SQL 的能力。
使用以下方式设置数据库连接:
- 连接类型:PostgreSQL
- 访问:本机 (JDBC)
- 支持布尔数据类型:true
- 引用数据库中的所有内容:true
注意:此时更改表以更改数据类型不是可选的。当前有太多应用程序依赖于此表,因此以这种方式更改它可能会导致不良影响
任何帮助,将不胜感激。谢谢你。