如何通过Kettle向PostgreSQL表中插入UUID值?

4
我的茶壶转换看起来很简单。 "表输入 --> 表输出"。在表输入块中:简单的SQL语句在服务器上运行良好。
当我尝试通过Kettle将UUID值插入到PostgreSQL表中时,出现错误:
ERROR: column "UUID_Col1" is of type uuid but expression is of type character varying

我找到了这个解决方案。但是我又遇到了另一个问题。看起来参数“stringtype=unspecified”只对第一列起作用。 设置参数后出现错误:
 ERROR: column "UUID_Col2" is of type uuid but expression is of type character varying

表格看起来像:

     "Date"                 TIMESTAMP WITHOUT TIME ZONE
    ,"CharNum"              VARCHAR(10)
    ,"UUID_Col1"            UUID
    ,"ЦентрПрибыли"         VARCHAR(80)
    ,"UUID_Col2"            UUID
    ,"UUID_Col3"            UUID
    ,"VarcharCol1"          VARCHAR(100)
    ,"VarcharCol2"          VARCHAR(100)

你能展示一下INSERT语句吗?解决方案可能需要添加强制转换。 - Laurenz Albe
@LaurenzAlbe 我正在使用这个块。http://wiki.pentaho.com/display/EAI/Table+Output。但是SQL语句对我来说是隐藏的。目前我用PostgreSQL函数解决了当前任务。尽管如此,我还是想解决这个问题。 - user3627830
@user3627830 我认为在你提供的线程中,一个名叫thomasperrin的人也遇到了同样的问题,当其中一个uuid是主键而其他不是时。因为如果所有3个uuid都不是主键,它就可以正常工作。 - Marlon Abeykoon
1个回答

2

1
欢迎提供解决方案的链接,但请确保您的答案即使没有链接也是有用的:在链接周围添加上下文,以便其他用户知道它是什么以及为什么存在,然后引用您链接的页面中最相关的部分,以防目标页面不可用。仅仅是一个链接的答案可能会被删除。 - Baum mit Augen
谢谢@BaummitAugen,但我已经包含了截图并且解决方案也在文本中描述了。不过好吧。 - João Pinela
我尝试了这个方法,但对我来说没有起作用。我仍然遇到了列的类型为uuid而值的类型为character varying的错误。 - ayush9398

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接