Не можете использовать LIKE-запрос в JDBC PreparedStatement?
Код запроса и запрос:
ps = conn.prepareStatement("select instance_id, ? from eam_measurement where resource_id in (select RESOURCE_ID from eam_res_grp_res_map where resource_group_id = ?) and DSN like '?' order by 2");
ps.setString(1,"SUBSTR(DSN,27,16)");
ps.setInt(2,defaultWasGroup);
ps.setString(3,"%Module=jvmRuntimeModule:freeMemory%");
rs = ps.executeQuery();
while (rs.next()) { bla blah blah blah ...
Возвращает пустойResultSet
.
Посредством базовой отладки я нашел третью связь, которая является проблемой, т.е.
DSN like '?'
Я испробовал все виды вариаций, наиболее разумный из которых, кажется, использовал:
DSN like concat('%',?,'%')
но это не работает, так как мне не хватает'
по обе стороны от объединенной строки, поэтому я пытаюсь:
DSN like ' concat('%',Module=P_STAG_JDBC01:poolSize,'%') ' order by 2
но я просто не могу найти способ заставить их работать.
Что мне не хватает?