(C) Copyright International Business Machines Corporation 2000, 2006. Все права защищены. Ограниченные права пользователей государственных учреждений США - Использование, копирование или обнародование регламентируется Контрактом GSA ADP с IBM(R) Corp.
Существует два новых типа проекта данных в рабочей среде:
- Проект схемы данных
- Проект разработки данных
Проекты схемы данных используются для создания и хранения моделей данных, например, физических и логических моделей моделей данных. Проекты разработки данных используются для создания и хранения объектов разработки приложений для работы с данными, такие как хранимые процедуры и пользовательские функции (которые также называются процедурами). Процедуры можно также просмотреть из проекта схемы данных как часть физической модели данных. Однако, поддержка разработки процедур в проекте схемы данных очень ограничена, и в нем не существует поддержки инструментария SQL для процедур. При разработке процедур рекомендуется использовать предназначенный для этого проект разработки данных, который предоставляет более полную поддержку, включая программы-мастера, редакторы процедур, средства отладки и интеграцию с инструментарием SQL.
Редактор данных таблицы:
. Если определить таблицу с единственным столбцом данных типа XML или таблицу с неуникальными строками, а затем с помощью редактора таблицы удалить строку, то будут удалены все строки, совпадающие с выбранной строкой. Для того чтобы обойти эту проблему, не используйте редактор данных таблицы для удаления строки в таблице с повторяющимися строками.. Если в редакторе данных таблицы выполняется проверка XML в таблице XML, которая не имеет первичного ключа, то эта проверка будет работать только первый раз, когда вы вставляете значение XML. Кроме того, изменение существующего столбца XML с проверкой XML будет неудачным. Для того чтобы обойти эту проблему, создайте первичный ключ для таблицы, которая содержит столбцы XML.
Редактор преобразования XSD с комментариями:
. Работа с несколькими корневыми элементами в этом редакторе может привести к ошибкам при сохранении файла XSD с комментариями. Для того чтобы обойти эту проблему, создайте отдельный набор файлов документа Схемы XML для каждого корневого элемента.
XML:
. Для того чтобы использовать типы данных XML и работать со схемами XML, необходимо подключиться к базе данных UTF-8.. Объем данных, возвращаемых из базы данных для документов XML неограничен. В зависимости от объема возвращаемых данных может меняться производительность.
Инструментарий SQL:
. Редактор SQL в настоящий момент не поддерживает переменных хоста в действии Выполнить SQL. Для того чтобы обойти эту проблему, можно выполнить SQL из компоновщика SQL, если это оператор DML.. В компоновщике SQL не поддерживается полный синтаксис SQL. Например, не поддерживаются Пользовательские типы (UDT) и табличные функции.
Разработка процедуры:
. Пользовательские типы (UDT) не поддерживаются в качестве параметров процедур.. Для развертывания хранимых процедур Java(TM), предназначенных для DB2(R) UDB для iSeries(TM), из файловой системы с помощью развертывания Ant, необходимо, чтобы jt400.jar находился в системном classpath.
. При попытке развертывания экспортированной хранимой процедуры с помощью инструкций из файла DeployInstructions.txt, может возникнуть следующее сообщение об ошибке:
...[createsp] Невозможно подключиться к целевой базе данных.
[createsp] com.ibm.db2.jcc.DB2Driver...
Для того чтобы обойти эту проблему, убедитесь в том, что файл db2jcc.jar и соответствующие лицензионные файлы находятся в системном classpath.Пи развертывании или выполнении хранимых процедур Java может появиться ошибка "невозможно загрузить класс". Это может случиться, если в версии JDK существует несоответствие между RAD v7 и сервером DB2, который находится на более низком уровне JDK.
Для предотвращения этой ошибки необходимо указать опцию "-source 1.4" в поле Опции компиляции мастера Развернуть процедуры при развертывании хранимых процедур Java на серверах, использующих JDK уровня 1.4. (например, DB2 Universal Database(TM) для Linux(R), UNIX(R) и сервера Windows(R) V8.2). В общем случае, используйте подходящую опцию компиляции "-source JDK level" для указания уровня JDK на сервере базы данных.. При развертывании хранимой процедуры или пользовательской функции с помощью средств развертывания Ant может возникнуть следующее сообщение, если файл tools.jar не находится в classpath:
Невозможно найти tools.jar. Ожидалось обнаружить его в F:\jre\1.4.2\lib\tools.jar
tools.jar - это часть JRE (Среды выполнения Java), а не часть средства развертывания Ant.
tools.jar не нужен для выполнения сценария Ant, на данный момент можно проигнорировать это сообщение.. Если вы измените имя метода Java в редакторе хранимых процедур, вы не сможете правильно сохранить процедуру, щелкнув правой кнопкой мыши на странице редактора Источник и выбрав Сохранить. Для того чтобы обойти эту проблему, сохраните хранимую процедуру, выбрав Файл$->Сохранить, или нажав Ctrl+S , или щелкнув на значке Сохранить.
. Если перенести и положить хранимую процедуру или пользовательскую функцию из одного сервера в сервер другого типа (например, из DB2 UDB для сервера Linux, UNIX и Windows в сервер DB2 UDB для сервера z/OS(R)), то во время операции "перенести и положить" появится предупреждение о некоторой несовместимости между двумя серверами. Если вы продолжите операцию и затем попытаетесь открыть хранимую процедуру или пользовательскую функцию, может появится ошибка.
Профилирование процедуры SQL:
. Выполнение Профилирования SQL для DB2 UDB для сервера Linux, UNIX и Windows V8.2 может привести к возникновению исключительной ситуации нулевого указателя, если на сервере отсутствует предполагаемая хранимая процедура (SYSIBM.SQLCAMESSAGECCSID), требуемая драйвером JCC для извлечения текста сообщения об ошибке. Для того чтобы обойти эту проблему, можно создать соединение с сервером, не устанавливая retrieveMessagesFromServerOnGetMessage=true.. В процессе отслеживания выполнения процедур SQL, генерируются события для операторов DML, таких как INSERT, SELECT, DELETE и UPDATE, вызываемых в процедурах. Однако, события не генерируются для таких процедурных операторов, как присваивание значения переменной, и для управляющих структур, например, WHILE или IF.
Отладчик хранимой процедуры:
. При подключении к серверу UNIX DB2 могут возникнуть исключения тайм-аута, если добавлены точки прерывания или при выполнении в режиме отладки.. Отладчик не выполняется для хранимой процедуры, имя которой состоит как из английских, так и китайских символов.
. Выражения отслеживания поддерживаются только для хранимых процедур Java. Они не поддерживаются для хранимых процедур SQL и SQLJ.
. Отладчик не останавливается на точке прерывания, если она расположена не на первой лексеме выполняемого оператора, такого как SET. Кроме того, он не останавливается на DECLARE CONTINUE, CLOSE CURSOR и ROLLBACK.
. Если при отладке хранимой процедуры Java выбрано действие Завершить, может потребоваться несколько минут для полного завершения сеанса отладки. Новые сеансы отладки, запущенные в это время, могут выполняться неравномерно.
. При отладке хранимой процедуры Java, которая вызывает другую хранимую процедуру Java, невозможно отлаживать эту другую процедуру. Невозможно трассировать вложенную хранимую процедуру и все точки прерывания, которые установлены внутри вложенной хранимой процедуры, будут игнорироваться. Это ограничение действует в DB2 UDB для Linux, UNIX и Windows.
. Если возникнет ошибка 'Тайм-аут при ожидании пакета' при отладке хранимой процедуры Java, попытайтесь увеличить значение тайм-аута Java. Для того чтобы увеличить значение тайм-аута Java, щелкните на Окно > Параметры в строке меню рабочей среды. Разверните узел Java и выберите Отладка. На странице параметров Отладка увеличьте значение Тайм-аут (мс) отладчика в разделе Тайм-аут соединения. Рекомендуется, по крайней мере, удвоить значение по молчанию.
. Если при отладке хранимой процедуры Java используется действие Изменить значение для изменения переменной, которая имеет значение пустой строки, то кнопка OK в окне диалога может быть недоступной. Для того чтобы сделать эту кнопку доступной, выберите переключатель Ввести вычисление, введите значение непустой строки (например, 'a'), а затем выберите переключатель Ввести буквенный текст. Кнопка OK станет доступной.
. Если при отладке хранимой процедуры Java вы не видите локальных переменных, то возможно, что хранимая процедура была развернута без опции компилятора -g. Убедитесь в том, что при развертывании хранимой процедуры Java указана опция компилятора -g.
. Если на панели Переменные появляется сообщение 'неверный фрейм стека', перейдите на панель Отладка и щелкните на объекте нити выше фрейма стека, а затем щелкните на фрейме стека. Это должно обновить панель Переменные, и ошибка должна перестать появляться.
. При отладке хранимой процедуры SQLJ, которая выполняется в DB2 UDB для iSeries V5 R4, текущая выполняемая строка не будет соответствовать указанной исходной строке SQLJ, показанной на панели Отладка, если только не применяется iSeries PTF, который изменяет карту строк, чтобы они соответствовали источнику SQLJ, а не источнику Java.
. Параметры отладчика для тайм-аута администратора сеансов не распознаются. Эти параметры устанавливаются следующим образом: Выберите Окно > Параметры, разверните узел Выполнить/Отладить, а затем выберите Отладчик хранимой процедуры DB2. Измените значение поля Тайм-аут администратора сеансов в минутах.
. Отладчик не может обработать хранимую процедуру, которая имеет большое число переменных, в DB2 для Linux, UNIX и Windows. Максимальное число переменных - это 200.
. Перемещение курсора в сеансе отладки: В некоторых случаях, когда в процедуре существует несколько объявлений переменных, необходимо щелкнуть на Трассировать функцию или Пропустить функцию более одного раза, чтобы перейти на следующую строку. Например, необходимо щелкнуть дважды на такой строке: DECLARE v_dept, v_actdept CHAR(3); и три раза на такой строке: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2). Необходимо столько щелчков, сколько существует объявлений переменных.
. Если вы запустите сеанс отладки хранимой процедуры Java и добавите точки прерывания, а затем выключите их, то эти точки прерывания будут оставаться включенными. Для того чтобы обойти эту проблему, при запуске нового сеанса отладки нужно сначала удалить все старые точки прерывания, а затем добавить новые.
. В некоторых случаях, когда вы работаете с несколькими проектами схемы данных, то при попытке отладить хранимую процедуру может возникнуть ошибка "Невозможно найти хранимую процедуру PROCNAME. Возможно, процедура была удалена из рабочей области" или "Источник не найден".
. Если хранимая процедура SQL отлаживается сразу после завершения сеанса отладки хранимой процедуры Java, в отладчике может возникнуть сообщение "Пользовательская процедура... была прервана пользователем" . Для того чтобы обойти эту проблему, попробуйте отладить хранимую процедуру SQL еще раз.
Базовая функциональность данных:
. ALIAS, MQT, NICKNAME и SYNONYM теперь поддерживаются в процессе разработки обхода, но не поддерживаются в процессе Преобразования EJB.
. Ограниченная поддержка для MySQL 4.1: Следующие свойства показываются неправильно на панели Свойства: уникальный индекс, столбцы с автоматическим приращением, значение столбца по умолчанию для NULL и binary. Кроме того, не поддерживаются процедуры и функции C.. Триггеры, контрольные ограничения и представления не поддерживаются для Cloudscape(TM) v5.1 : Триггеры и контрольные ограничения Cloudscape v5.1 не показываются в Структуре информации базы данных. Представления Cloudscape v5.1 отсутствуют в теле SQL в на панели Свойства. Невозможно генерировать DDL или создавать с помощью обратного проектирования триггеры, контрольные ограничения и представления Cloudscape v5.1.