Если после имени метода Java в условии EXTERNAL NAME оператора CREATE PROCEDURE или CREATE FUNCTION задана сигнатура метода Java, она должна соответствовать отображению типов Java по умолчанию для сигнатуры, заданной после имени процедуры или функции. Например, отображению Java по умолчанию для типа SQL INTEGER - "int", а не "java.lang.Integer".
Важно, чтобы уровень FixPak файла db2java.zip, используемого апплетом Java, совпадал с уровнем сервера апплетов JDBC. При нормальных условиях db2java.zip загружается с того сервера Web, на котором запущен сервер апплетов JDBC, как показано на рисунке 22 в этой книге. Это гарантирует совпадение уровней. Если же в вашей конфигурации есть апплет Java, загружающий db2java.zip из другого положения, может произойти несовпадение. До FixPak 2 это может вызывать непредвиденные ошибки. После применения FixPak 2 совпадение уровней FixPak для этих двух файлов принудительно проверяется во время соединения. При обнаружении несовпадения соединение не устанавливается, и клиент получает одну из следующих исключительных ситуаций:
COM.ibm.db2.jdbc.DB2Exception: [IBM][Драйвер JDBC] CLI0621E Неподдерживаемая конфигурация сервера JDBC.
COM.ibm.db2.jdbc.DB2Exception: [IBM][Драйвер JDBC] CLI0601E Неправильный хэндл оператора или оператор закрыт. SQLSTATE=S1000
При несовпадении сервер апплетов JDBC записывает в файл jdbcerr.log одно из следующих сообщений:
jdbcFSQLConnect: JDBC Версии сервера апплетов и клиента (db2java.zip) не совпадают. Невозможно выполнить соединение., einfo= -111
jdbcServiceConnection(): Получено неверное требование., einfo= 0