我目前正在尝试将一些数据(从csv文件)导入到postgreSQL数据库中。为此,我使用CSV文件输入步骤将csv文件导入到Kettle中。其次,我正在使用修改后的Java脚本值步骤来更改一些值,我还添加了一个名为Value的新列。此列应始终为真。我将有效列添加到步骤窗口下半部分的字段中。我的步骤如下:

要将数据从水壶导入到PostgreSQL数据库表中,我使用PostgreSQL大容量加载器(因为要导入的行数以百万计)。此步骤如下所示:

正如您在此图像中所看到的,表列名是有效的,流字段是有效的(这来自Javascript值步骤)。都是布尔型的。该起作用了。但是,如果运行转换,则会得到以下错误消息:
2018/02/12 14:52:50 - PostgreSQL Bulk Loader.0 - Caused by:
org.postgresql.util.PSQLException: ERROR: invalid input syntax for type
boolean: "1.0"
Wobei: COPY adac_test, line 1, column valid: "1.0"对如何解决这个问题有什么建议吗?
发布于 2018-02-15 11:00:32
将“有效”转换为字符串。在postgres中,布尔值是“某种”字符串,但postgres上的布尔值可以作为字符串插入:
https://www.postgresql.org/docs/9.6/static/datatype-boolean.html
在这份文件的基础上,这项工作应能:
var VALID = 't';并在代码窗口下面选择字符串类型而不是布尔类型。
https://stackoverflow.com/questions/48748360
复制相似问题