A preferência Reconstruir Antes de Executar para procedimentos armazenados e funções definidas pelo usuário não funciona. Essa preferência é definida na página Processo da janela Preferências (Clique em Janelas -> Preferências para abrir a janela Preferências, em seguida, expanda os nós Dados e Construtor de UDFs e Procedimentos Armazenados do DB2 e clique no nó Processo). Para solucionar esse problema, você deve construir manualmente os procedimentos armazenados e funções definidas pelo usuário antes de executá-los, caso tenha feito alterações desde a última construção.
Se você implementar determinadas UDFs da tabela que foram exportadas utilizando a opção Incluir Instrução DROP no assistente para Exportar Rotinas, poderá ver uma mensagem de erro com SQLSTATE -458. Isso ocorre devido a um erro na instrução DROP FUNCTION gerada. Por exemplo, se esta for sua origem UDF:
CREATE FUNCTION USERID.BABELFISH ( TRANSLATIONMODE VARCHAR(100), SOURCEDATA VARCHAR(100) )
A instrução DROP FUNCTION será gerada como esta:
DROP FUNCTION USERID.BABELFISH ()
Para solucionar esse problema, remova os parênteses do final da instrução DROP FUNCTION.
As funções definidas pelo usuário com parâmetros de retorno que sejam tipos de dados LOB podem falhar na implementação ou execução em um banco de dados local. Isso ocorrerá se não houver comprimento especificado em seu parâmetro LOB retornado. Por exemplo:
CREATE FUNCTION USERID.COLCLOB () RETURNS clob
Para corrigir esse problema, você deve especificar um comprimento para o parâmetro LOB retornado. Por exemplo:
CREATE FUNCTION USERID.COLCLOB () RETURNS clob(5k)
Se você implementar um procedimento armazenado DB2 Java em um banco de dados sem implementar a origem (a caixa de opções Implementar Utilizando a Origem não é marcada na página Opções do assistente para Implementar Rotinas), não será possível eliminar o procedimento armazenado do banco de dados utilizando o workbench. Para solucionar esse problema, você pode eliminar o procedimento armazenado, emitindo o comando DROP PROCEDURE a partir do CLP (Command Line Processor) do DB2 ou utilizando o Centro de Controle do DB2. Poderá também ser necessário emitir o comando CALL SQLJ.REMOVE_JAR para remover o jar instalado.
No cenário a seguir, o campo Local da Classe no assistente ou página de Conexão com o Banco de Dados não é automaticamente preenchido:
- Instale o workbench sem instalar o WAS (WebSphere Application Server). Instale o WAS.
- Inicie o workbench.
- Crie uma conexão com um banco de dados CloudscapeTM (clique com o botão direito do mouse em -> Nova Conexão na visualização Explorador de Banco de Dados da perspectiva Dados ou utilizando a página Conexão com o Banco de Dados de um outro assistente).
Para solucionar esse problema, preencha o campo Local da Classe manualmente ou reinicie o workbench e crie a conexão novamente. Se você reiniciar o workbench, o campo Local da Classe será automaticamente preenchido.
Retornar para o arquivo leia-me principal