Limitations of stored procedure and user-defined function workbench features

This topic describes current limitations in the stored procedure and user-defined function features of the workbench.

Limitation and prerequisites for building and running Java™ stored procedures when targeting a DB2® z/OS® v8 server

Limitation for importing a Java stored procedure from the file system and deploying it to the target database

After importing a Java stored procedure from the file system, and successfully deploying it to the target database, running the stored procedure might fail. The method name might conflict with a method name that already exists in the environment where the stored procedure is running.

You must ensure that the stored procedure implementation class is uniquely identified by including it in a package. Insert a package statement in the Java source, and import the stored procedure to the development project. Also, make sure that the stored procedure implementation method has a unique name. You can do this by modifying the method name in the Java source before importing it to the development project.

Limitation when specifying the bind option ACTION(REPLACE)

When building an SQLJ stored procedure using the DB2 Universal JDBC Driver, you might get a build error with the bind option ACTION(REPLACE). This error can occur on DB2 UDB for Linux®, UNIX®, and Windows® Version 8 Fixpak 5 or earlier releases when a stored procedure connects to a server on DB2 UDB for Linux, UNIX, and Windows Version 8 or DB2 UDB for z/OS version 8. When building the SQLJ procedure, the DB2SQLJCUSTOMIZE command might throw the following exception:
java.sql.SQLException: invalid options string
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:1018)
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:775)
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:432)
	at com.ibm.db2.jcc.sqlj.Binder.bindMain(Binder.java:338)
	at com.ibm.db2.jcc.sqlj.Customizer.customizeMain(Customizer.java:810)
	at com.ibm.db2.jcc.sqlj.Customizer.main(Customizer.java:272)

This problem is fixed in DB2 UDB for Linux, UNIX, and Windows Version 8 Fixpak 6. To work around this error, specify all other bind options after the ACTION(REPLACE) option. For example, use ACTION(REPLACE) BLOCKING(ALL) instead of BLOCKING(ALL) ACTION(REPLACE).

To avoid this error if you are using only the ACTION(REPLACE) option, the default validation level for binding a package to a remote server will be automatically added as follows: ACTION(REPLACE) VALIDATE(BIND).


Comentarios