原因:org.postgresql.util.PSQLException:错误:列“ imagesync__c”的类型为布尔值,但表达式的类型为字符变化

问题描述 投票:0回答:1

我正在使用WSO2报告介体将记录插入到postgreSql表中。面临类似[[column“ imagesync__c”的类型为boolean但表达式的类型为字符变化

的问题FYI,

  • imagesync__c

列的数据类型为bool,并使用DBeaver 6.1.2<property name="syncFlag" scope="default" type="BOOLEAN" value="true"/> <dbreport description="Insert into product2"> <connection> <pool> <dsName>jdbc/QRSagAppSyncDataSource</dsName> </pool> </connection> <statement> <sql><![CDATA[INSERT INTO vonbibra_dev.product2(productcode,db_lastmodifiedbyuser,imagesync__c,sourcename__c)VALUES(?, ?,?,?,?)]]></sql> <parameter type="VARCHAR" value="CarSales"/> <parameter type="VARCHAR" value="qrsintegration"/> **<parameter type="VARCHAR" expression="get-property('syncFlag')"/>** <parameter type="VARCHAR" value="CarSales"/> </statement> </dbreport>
我已经尝试了下面针对该特定列的一些转换,很遗憾,它们都没有起作用。

  • 铸造方式

<parameter value="select get-property('syncFlag')::boolean" type="VARCHAR"/> <parameter value="CAST(get-property('syncFlag') as BOOLEAN)" type="VARCHAR"/> <parameter type="VARCHAR" value="1"/> <parameter type="VARCHAR" value="SELECT DECODE(get-property('syncFlag'), 'false', '0', 'true', '1' )::BOOLEAN"/>

参考:

CAST Function

TypeCasting

Cast VARCHAR to BOOLEAN

wso2esb wso2ei
1个回答
0
投票
<property name="syncFlag" scope="default" type="BOOLEAN" value="true"/> <dbreport description="Insert into product2"> <connection> <pool> <dsName>jdbc/QRSagAppSyncDataSource</dsName> </pool> </connection> <statement> <sql><![CDATA[INSERT INTO vonbibra_dev.product2(productcode,db_lastmodifiedbyuser,imagesync__c,sourcename__c)VALUES(?, ?,?,?::BOOLEAN,?)]]></sql> <parameter type="VARCHAR" value="CarSales"/> <parameter type="VARCHAR" value="qrsintegration"/> **<parameter type="VARCHAR" expression="get-property('syncFlag')"/>** <parameter type="VARCHAR" value="CarSales"/> </statement> </dbreport>
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.