pentaho数据库连接错误以匹配输入数据

时间:2015-05-11 13:04:27

标签: pentaho

我有一个input.csv文件,其中我有字段“id”。 我需要使用以下逻辑进行数据库查找。

我需要搜索字段“supp_text”中是否存在“id”并提取字段“loc_id”。

例如, id = 12345。 并且,在我的supp_text中,我的值为“当前值为12345”。

我正在使用“数据库连接”功能来执行此操作。 即

 *select loc_id from SGTABLE where supp_text like '%?%';*

 and, i am passing "id" as a parameter. 

我跑步时遇到以下错误。

无法从[从SGTABLE WHERE SUPP_TEXT选择LOC_ID,如'%?%'] 中获取字段信息” 违规行:[ID String(5)]

所有输入都是字符串,表字段是“VARCHAR”。

我也试过了“数据库查找选项。但它没有选项来匹配字符串中的子字符串。

请帮忙。

1 个答案:

答案 0 :(得分:1)

JDBC驱动程序不替换字符串中的参数。您必须首先创建通配符字符串并将整个事物作为参数传递。这是一个快速转换,我把它拼凑在一起:

enter image description here

请注意,在Database Join步骤中,SQL没有''引用它。另请注意,除非正确使用,Database Join步骤才能成为性能杀手。然而,如果要使用许多不同的通配符值(与我的转换不同),这看起来是合理使用它。