簡體   English   中英

Pentaho:無法使用 PostgreSQL Bulk Loader 將布爾值導入表?

[英]Pentaho: Cannot import Boolean Value to table with PostgreSQL Bulk Loader?

我目前正在嘗試將一些數據(從 csv 文件)導入 postgreSQL 數據庫。 為此,我使用 CSV 文件輸入步驟將 csv 文件導入 Kettle。 其次,我正在使用 Modified Java Script Value 步驟來更改某些值,並且我還添加了一個名為 VALID 的新列。 此列應始終為真。 我將列 VALID 添加到步驟窗口下半部分的字段中。 我的步驟如下所示:

在此處輸入圖片說明

要將數據從kettle 導入PostgreSQL 數據庫表,我使用了PostgreSQL Bulk Loader(因為要導入數百萬行)。 此步驟如下所示:

在此處輸入圖片說明

正如您在此圖像中看到的,表列名稱有效,流字段為 VALID(來自 Javascript Value 步驟)。 兩者都是布爾值。 應該工作。 但是,如果我運行轉換,我會收到以下錯誤消息:

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"

對於如何解決這個問題,有任何的建議嗎?

將“有效”轉換為字符串。 在 postgres 中,布爾值是“某種”字符串,不是真的,但 postgres 上的布爾值可以作為字符串插入:

https://www.postgresql.org/docs/9.6/static/datatype-boolean.html

基於此文檔,這應該有效:

   var VALID = 't';

並在代碼窗口下方選擇類型字符串而不是布爾值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM