По данным сайта IBM, SQLSTATE 42818 - это 42818 «Операнды оператора или функции несовместимы или несопоставимы». Это означает, что вы указали неверный тип данных для вашего подготовленного оператора.
Возможно, вам понадобится вывести RT_COUNT и выполнить setInt или setLong или что-то еще, чтобы заставить его работать.
Кроме того, я предполагаю, что источник и контент являются строками? Если это не так, это также может способствовать этому.
Редактировать
Для выполнения RT_COUNT, о котором я говорил, вам нужно изменить ваш запрос, сделав следующее:
String cmd1="Update ANALYTICS SET RT_COUNT = ? WHERE USER_NAME = ? AND STATUS = ?";
PreparedStatement process = connection.prepareStatement(cmd1);
process.setLong(1, new Long(1));
process.setString(2, source);
process.setString(3, content);
if(process.executeUpdate()==0)
{....
И это может быть вашей проблемой, потому что я не уверен, как драйвер интерпретирует «1». Это должно быть Long для отображения на bigint в DB2. Смотрите для , какие типы данных в Java соответствуют каким типам данных в DB2 .