kettle获取系统信息及输出

实验任务:用kettle将postgreql中的数据,根据某个字段大于或小于某个值的数据输出到文本文件和数据库中。

1、首先建立转换,如图


获取系统信息中的变量如图

kettle获取系统信息及输出_第1张图片

表输入中,连接的是postgresql,元数据如图

kettle获取系统信息及输出_第2张图片

双击表输入得到test表,利用where语句中的?代替变量

kettle获取系统信息及输出_第3张图片

注意,?代表转换中的命令参数1,默认的是character类型,而数据库中id是integer类型,所以要对?进行强制转换成numerica,注意要勾选替换sql语句里的变量,选择获取系统信息,其中命令参数1就是?,指的是(稍后在点击运行时出现)。文本文件输出选择指定地点即可。然后点击运行,如图

kettle获取系统信息及输出_第4张图片

2、此时点击运行会报错,

kettle获取系统信息及输出_第5张图片

主要是因为数据库中的text类型和character varing无法输出到txt中,将数据库中的text类型和character varing改成char类型即可,另外如果往数据库中输出,text类型和character varing是不会报错的。(text类型确实是不能输出到TXT中,但是能输出到csv文件中)

3、由于?是char类型,所以当数据库中id如果是char类型,则不用强转,可以直接比较。


你可能感兴趣的:(kettle)