DB2 Версии 9 для Linux, UNIX и Windows

Ограничения возможностей инструментальной среды хранимых процедур и пользовательских функций

В этом разделе описаны текущие ограничения функциональных возможностей хранимых процедур и пользовательских функций инструментальной среды.

Ограничения и предварительные требования для использования особых типов DB2 в подпрограммах

В DB2 не полностью поддерживаются хранимые процедуры и пользовательские функции, содержащие в качестве параметров особые (пользовательские) типы.

Ограничения и требования на построение и выполнение хранимых процедур Java при их назначении на сервер DB2 z/OS Версии 8

Ограничение на импорт хранимой процедуры Java из файловой системы и внедрение ее в базу данных назначения

После импорта хранимой процедуры Java из файловой системы и успешного внедрения в базу данных назначения ее выполнение может завершиться неудачно. Заданное имя метода может конфликтовать с именем метода, уже существующем в среде, где выполняется хранимая процедура.

Необходимо убедиться, что класс реализации хранимой процедуры идентифицирован уникально, включив его в пакет. Вставьте оператор package в источник Java и импортируйте хранимую процедуру в проект разработки. Убедитесь также в уникальности имени метода реализации хранимой процедуры. Это можно сделать, изменив имя метода в источнике Java перед его импортом в проект разработки.

Ограничение при задании опции связывания ACTION(REPLACE)

При построении хранимой процедуры SQLJ с помощью драйвера Universal JDBC Driver DB2 можно получить ошибку построения с опцией связывания ACTION(REPLACE). Эта ошибка может происходить в DB2 UDB for Linux, UNIX, and Windows Версии 8, Fixpak 5 или более ранних выпусках, если хранимая процедура соединяется с сервером в DB2 UDB for Linux, UNIX, and Windows Версии 8 или DB2 UDB for z/OS Версии 8. При построении процедуры SQLJ команда DB2SQLJCUSTOMIZE может привести к следующей исключительной ситуации:
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)

Эта ошибка исправлена в DB2 UDB для Linux, UNIX и Windows Версии 8, Fixpak 6. Чтобы обойти эту ошибку, задайте все остальные опции связывания после опции ACTION(REPLACE). Например, используйте вместо опции BLOCKING(ALL) ACTION(REPLACE) опцию ACTION(REPLACE) BLOCKING(ALL).

Во избежание этой ошибки, если используется только опция связывания ACTION(REPLACE), автоматически добавляется уровень проверки по умолчанию для связывания пакета с удаленным сервером: ACTION(REPLACE) VALIDATE(BIND).




Отзыв

значок обновления Последнее обновление для DB2 Версии 9.1