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änkungen für die Verwendung von DB2-Datentypen in Routinen

DB2 unterstützt gespeicherte Prozeduren und UDFs, die als Parameter einzigartige Typen (benutzerdefinierte Typen) enthalten, nur unvollständig.

XML-Datentypen werden für gespeicherte Prozeduren in DB2 für z/OS nicht als Parameter unterstützt.

Einschränkung für die Implementierung gespeicherter Java-Prozeduren mit DB2 für Linux, UNIX und Windows Version 8.1 als Ziel

Die Implementierung gespeicherter Java™-Prozeduren unter Verwendung von Universal Driver und mit DB2 für Linux®, UNIX® und Windows® Version 8.1 als Ziel wird nicht unterstützt.

Einschränkung und Voraussetzungen für die Erstellung und Ausführung gespeicherter Java-Prozeduren mit einem Server von DB2 für z/OS als Ziel

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