Einschränkungen der Workbenchfunktionen für gespeicherte Prozeduren und benutzerdefinierte Funktionen

In diesem Thema werden aktuelle Einschränkungen der Workbenchfunktionen für gespeicherte Prozeduren und benutzerdefinierte Funktionen beschrieben.

Einschränkung und Voraussetzungen für die Erstellung und Ausführung gespeicherter Java-Prozeduren für einen Server mit DB2 z/OS Version 8

Einschränkung für den Import einer gespeicherten Java-Prozedur aus dem Dateisystem und für deren Implementierung in der Zieldatenbank

Nach dem Import einer gespeicherten Java-Prozedur aus dem Dateisystem und deren erfolgreicher Implementierung in der Zieldatenbank kann die Ausführung der gespeicherten Prozedur fehlschlagen. Der Methodenname kann in Konflikt mit einem bereits in der Ausführungsumgebung vorhandenen Methodennamen stehen, in der die gespeicherte Prozedur ausgeführt wird.

Sie müssen sicherstellen, dass die Implementierungsklasse der gespeicherten Prozedur eindeutig festgelegt ist, indem Sie die Prozedur in ein Paket aufnehmen. Fügen Sie in den Java-Quellcode eine Paketanweisung ein, und importieren Sie die gespeicherte Prozedur in das Entwicklungsprojekt. Stellen Sie darüber hinaus sicher, dass die Implementierungsmethode der gespeicherten Prozedur einen eindeutigen Namen aufweist. Dazu können Sie den Methodennamen im Java-Quellcode vor dem Import in das Entwicklungsprojekt modifizieren.

Einschränkung bei der Angabe der Bindeoption ACTION(REPLACE)

Bei der Erstellung einer gespeicherten SQLJ-Prozedur unter Verwendung von DB2 Universal JDBC Driver erhalten Sie möglicherweise für die Bindeoption ACTION(REPLACE) einen Erstellungsfehler. Dieser Fehler kann bei DB2 UDB für Linux, UNIX und Windows ab Version 8 Fixpak 5 auftreten, wenn eine gespeicherte Prozedur eine Verbindung zu einem Server mit DB2 UDB für Linux, UNIX und Windows Version 8 oder DB2 UDB für z/OS Version 8 herstellt. Bei der Erstellung der SQLJ-Prozedur kann der Befehl DB2SQLJCUSTOMIZE die folgenden Ausnahmebedingungen auslösen:
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)

Dieser Fehler wurde in DB2 UDB für Linux, UNIX und Windows Version 8 Fixpak 6 behoben. Sie können den Fehler umgehen, indem Sie alle anderen Bindeoptionen nach der Option ACTION(REPLACE) angeben. Verwenden Sie z. B. ACTION(REPLACE) BLOCKING(ALL) statt BLOCKING(ALL) ACTION(REPLACE).

Damit dieser Fehler vermieden wird, wenn Sie nur die Option ACTION(REPLACE) verwenden, wird automatisch die Standardprüfstufe für das Binden eines Pakets an einen fernen Server hinzugefügt: ACTION(REPLACE) VALIDATE(BIND).


Feedback