Si se especifica después que el nombre de método Java en la cláusula EXTERNAL NAME de las sentencias CREATE PROCEDURE o CREATE FUNCTION, la signatura del método Java debe corresponder a la correlación de tipos Java por omisión para la signatura especificada después del nombre de procedimiento o función. Por ejemplo, la correlación de Java por omisión del tipo INTEGER de SQL es "int", y no "java.lang.Integer".
Es esencial que el archivo db2java.zip que utiliza la applet de Java esté al mismo nivel de FixPak que el servidor de applet de JDBC. En circunstancias normales, db2java.zip se carga desde el Servidor Web en el que se está ejecutando el servidor de applet de JDBC, tal y como se muestra en la Figura 22 del manual. Esto asegura una correspondencia. Sin embargo, si su configuración hace que la applet de Java cargue db2java.zip desde una ubicación diferente, puede producirse una falta de correspondencia. Antes del FixPak 2, esto podía conducir a anomalías inesperadas. A partir del FixPak 2, la correspondencia de niveles del FixPak entre los dos archivos se implanta estrictamente en tiempo de conexión. Si se detecta una falta de correspondencia, se rechaza la conexión y el cliente recibe una de las excepciones siguientes:
COM.ibm.db2.jdbc.DB2Exception: [IBM][Controlador JDBC] CLI0621E Configuración de servidor JDBC no soportada.
COM.ibm.db2.jdbc.DB2Exception: [IBM][Controlador JDBC] CLI0601E Se ha cerrado la sentencia o descriptor de contexto de sentencia no válidos. SQLSTATE=S1000
Si se produce una falta de correspondencia, el servidor de applet de JDBC anota cronológicamente uno de los mensajes siguientes en el archivo jdbcerr.log:
jdbcFSQLConnect: Las versiones de servidor y cliente de applet JDBC (db2java.zip) no coinciden. La conexión no puede proseguir., einfo= -111
jdbcServiceConnection(): Se ha recibido una petición no válida., einfo= 0