我正在使用Pentaho Kettle将Oracle数据库移动到Mongo数据库。我已经成功完成了我想要的几乎所有事情,但我只是遇到了最后一个问题。
在oracle db中,它们有一个具有两种状态的字段:Y或N,而不是一个好的布尔 true 和 false 。我想在转换中做一个映射,说Y是 true 而N是 false ,但Pentaho将其翻译为字符串,而不是真正的 true < / em>和 false 。
我是否可以轻松设置布尔值?
提前致谢!
答案 0 :(得分:5)
您可以使用Select values
面板上的Meta-data
步骤更改类型。
它有效!
但是,由于PDI中布尔值的字符串表示形式为Y / N以及真/假,具体取决于上下文,因此有罪步骤可能是Mongo DB Output
。
右键单击Oracle Table Input
,选择output field
并检查字段的类型。如果它不是布尔值,则使用Select value
转换它。
然后右键点击Mongo DB Output
,选择input field
并检查字段的类型。如果它是布尔值,则它会以静默方式转换为Y / N.在这种情况下,使用Replace in string
步骤并将Y / N转换为&#34; true&#34; /&#34; false&#34;作为字符串,让Mongo DB静默地将这些特殊字符串转换为boolean。