Ferramentas de Dados - Notas sobre o Release

© Copyright International Business Machines Corporation 2006. Todos os direitos reservados. Direitos Restritos aos Usuários do Governo dos Estados Unidos - Uso, duplicação ou divulgação restritos pelo documento GSA ADP Schedule Contract com a IBM Corp.

Notas sobre o Release

1.0 Limitações
   1.1 As Ferramentas SQL não Estão Disponíveis para Rotinas em um Projeto de Design de Dados
2.0 Problemas Conhecidos e Soluções Alternativas
   2.1 Problemas Conhecidos e Soluções Alternativas para Componentes de Ferramentas de Dados

1.0 Limitações

1.1 As Ferramentas SQL não Estão Disponíveis para Rotinas em um Projeto de Design de Dados

Há dois novos tipos de projetos de dados no ambiente de trabalho:

Os projetos de design de dados são utilizados para criar e armazenar modelos de dados, por exemplo, modelos de dados físicos e modelos de dados lógicos. Os projetos de desenvolvimento de dados são utilizados para criar e armazenar objetos de desenvolvimento de aplicativos de dados, como procedimentos armazenados e funções definidas pelo usuário (também conhecidas como rotinas). As rotinas também podem ser visualizadas a partir de um projeto de design de dados como parte de um modelo de dados físico. No entanto, o suporte ao desenvolvimento para rotinas de um projeto de design de dados é muito limitado e não há suporte às ferramentas SQL para rotinas em um projeto de design de dados. Se você estiver desenvolvendo rotinas, recomenda-se utilizar o projeto de desenvolvimento de dados designado que fornece suporte mais completo, incluindo assistentes, editores de rotinas, suporte à depuração e a integração de ferramentas SQL.

2.0 Problemas Conhecidos e Soluções Alternativas

2.1 Problemas Conhecidos e Soluções Alternativas para Componentes de Ferramentas de Dados

Editor de Dados da Tabela:

Se você definir uma tabela com uma única coluna de tipo de dados XML ou qualquer tabela com linhas não exclusivas e, em seguida, utilizar o editor de tabela para excluir uma linha, todas as linhas que corresponderem à linha selecionada serão excluídas. Para solucionar esse problema, não utilize o editor de dados da tabela para excluir uma linha em uma tabela com linhas duplicadas.

No editor de dados da tabela, se você executar uma validação XML em uma tabela XML que não contenha uma chave primária, a validação XML só funcionará na primeira vez, quando você inserir o valor XML. Além disso, uma atualização de uma coluna XML existente com a validação XML falhará. Para solucionar esse problema, crie uma chave primária para as tabelas que contêm colunas XML.

Editor de Mapeamento XSD Anotado:
Trabalhar com vários elementos-raízes nesse editor pode levar a erros ao salvar o arquivo XSD anotado. Para solucionar esse problema, crie um conjunto separado de arquivos de documentos de Esquema XML para cada elemento-raiz.

XML:
Para utilizar tipos de dados XML e trabalhar com esquemas XML, você deve conectar-se a um banco de dados UTF -8.

A quantidade de dados retornados do banco de dados para documentos XML é ilimitada. Dependendo da quantidade de dados retornados, o desempenho poderá ser afetado.

Ferramentas SQL:
O editor SQL não suporta atualmente variáveis de host durante a ação Executar SQL. Para solucionar esse problema, você pode executar o SQL a partir do construtor SQL, se for uma instrução DML. 

No construtor SQL, a sintaxe SQL completa não é suportada. Por exemplo, funções UDTs (User Defined Types) e Table não são suportadas.

Desenvolvimento da Rotina:
UDTs (User-Defined Types) não são suportados como parâmetros para rotinas.

Para implementar procedimentos armazenados Java que devem ser direcionados ao DB2 UDB para iSeries a partir do sistema de arquivo utilizando a implementação Ant, você deverá assegurar-se de ter o jt400.jar no caminho de classe do sistema.

 Se você tentar implementar um procedimento armazenado exportado utilizando as instruções de DeployInstructions.txt, você poderá obter uma mensagem de erro informando:
 ...[createsp] Não foi possível conectar-se ao banco de dados de destino.
 [createsp] com.ibm.db2.jcc.DB2Driver... 
 Para solucionar esse problema, assegure-se de que o db2jcc.jar e os arquivos de licença apropriados estejam no caminho de classe do sistema.

Você poderá ver um erro "impossível carregar classe" quando implementar ou executar procedimentos armazenados Java. Isso poderá acontecer se houver uma incompatibilidade na versão do JDK entre o RAD v7 e o servidor DB2, se o servidor DB2 estiver em um JDK de nível inferior.
Para evitar esse erro, será necessário especificar a opção "-source 1.4" no campo Opções de Compilação do assistente Implementar Rotinas quando você estiver  implementando procedimentos armazenados Java em servidores que utilizam um JDK de nível 1.4. (por exemplo, um servidor de banco de dados DB2 Universal Database para Linux, UNIX e Windows V8.2). Em geral, utilize a opção de compilação apropriada "-source JDK level " para que corresponda ao nível de JDK no servidor de banco de dados.

Ao implementar um procedimento armazenado ou uma UDF utilizando a funcionalidade de implementação Ant, você poderá ver esta mensagem se o arquivo tools.jar não estiver localizado no caminho de classe:
Impossível localizar tools.jar. Espera-se localizá-lo em F:\jre\1.4.2\lib\tools.jar
O tools.jar é uma parte do JRE (Java Runtime Environment), não da ferramenta de implementação Ant.
O tools.jar não é necessário para executar o script Ant e, por enquanto, você pode apenas ignorar essa mensagem.

Ao alterar o nome do método Java no editor do procedimento armazenado, você não poderá salvar o procedimento adequadamente clicando com o botão direito do mouse na página Origem do editor e, em seguida, selecionando Salvar. Para solucionar esse problema, salve o procedimento armazenado clicando em Arquivo->Salvar, pressionando Ctrl+S ou clicando no ícone Salvar.

Se você arrastar e soltar um procedimento armazenado ou uma UDF entre servidores diferentes (por exemplo, de um servidor DB2 UDB para Linux, UNIX e Windows para um servidor DB2 UDB para z/OS), você verá um aviso durante a operação arrastar e soltar sobre determinadas incompatibilidades entre os dois servidores. Se você continuar a operação e, em seguida, tentar abrir o procedimento armazenado ou a UDF, poderá ver um erro.

Traçado de Perfis de Procedimentos SQL:
Executar o Traçado de Perfis SQL em um servidor DB2 UDB para Linux, UNIX e Windows V8.2 poderá causar uma exceção de ponteiro nulo se o servidor não contiver o procedimento armazenado de pré-requisito (SYSIBM.SQLCAMESSAGECCSID) necessário para que o driver JCC recupere o texto da mensagem de erro. Para solucionar esse problema, você pode criar uma conexão com o servidor sem a configuração retrieveMessagesFromServerOnGetMessage=true.

Durante o monitoramento da execução de procedimentos SQL, são gerados eventos para instruções DML, como INSERT, SELECT, DELETE e UPDATE que são emitidos no procedimento. No entanto, os eventos não são gerados de forma determinista para instruções orientadas por procedimentos, como designações de variáveis e estruturas de controle, como WHILE ou IF.

Depurador de Procedimentos Armazenados:
Durante a conexão com um servidor UNIX DB2, poderão ocorrer exceções de tempo limite ao incluir pontos de interrupção ou executar no modo de depuração.

O depurador não é executado para um procedimento armazenado cujo nome contenha caracteres em inglês e chinês.

As expressões de controle são suportadas apenas para procedimentos armazenados dinâmicos Java. Elas não são suportadas para procedimentos armazenados SQL e SQLJ.

O depurador não será interrompido em um ponto de interrupção se não estiver posicionado no primeiro token de uma instrução executável, como SET. Além disso, ele não será interrompido em DECLARE CONTINUE, CLOSE CURSOR ou ROLLBACK.

Se você estiver depurando um procedimento armazenado Java e selecionar uma ação Finalizar, poderá demorar um pouco para que a sessão de depuração termine completamente. Novas sessões de depuração iniciadas durante esse tempo podem comportar-se incorretamente.

Se você estiver depurando um procedimento armazenado Java que chame um segundo procedimento armazenado Java, não poderá depurar o segundo procedimento armazenado. Você não poderá avançar para o procedimento armazenado aninhado e todos os pontos de interrupção configurados para ele serão ignorados. Essa restrição serve para o DB2 UDB para Linux, UNIX e Windows.

Se você receber um erro 'Ocorreu tempo limite ao esperar pelo pacote' enquanto estiver depurando um procedimento armazenado Java, tente aumentar a configuração de tempo limite de Java. Para aumentar a configuração de tempo limite de Java, clique em Janela > Preferências na barra de menus do ambiente de trabalho. Expanda o nó Java e clique em Depurar. Na página de preferências Depurar, aumente o valor de Tempo limite do depurador (ms) na seção Tempo Limite para Comunicação. Recomenda-se pelo menos dobrar o valor padrão.

Durante a depuração de um procedimento armazenado Java, se você utilizar a ação Alterar Valor para modificar uma variável que tenha um valor de cadeia vazia, o botão OK no diálogo de edição poderá não ser ativado. Para ativar o botão, selecione o botão de rádio Informar uma avaliação, configure o valor com uma cadeia não vazia (por exemplo, 'a') e, em seguida, selecione o botão de rádio Informar texto literal. O botão OK ficará, então, disponível.

Se você não vir variáveis locais durante a depuração de um procedimento armazenado Java, é possível que o procedimento armazenado tenha sido implementado sem a opção -g do compilador. Assegure-se de especificar essa opção durante a implementação de procedimentos armazenados Java.

Se você vir uma mensagem 'estrutura de pilha inválida' na visualização Variáveis, vá para a visualização Depurar e clique no objeto de encadeamento acima da estrutura de pilha e, em seguida, clique na estrutura de pilha. Isso deve atualizar a visualização Variáveis e o erro não deve mais aparecer.

Durante a depuração de um procedimento armazenado SQLJ em execução no DB2 UDB para iSeries V5 R4, a linha atual que está sendo executada não corresponderá à linha original SQLJ indicada exibida na visualização Depuração, a não ser que você tenha aplicado um PTF do iSeries que atualize o mapeamento de linha para que corresponda à origem SQLJ em vez de à origem Java.

As preferências do depurador para tempo limite do gerenciador de sessão não são reconhecidas. Essas preferências são configuradas da seguinte forma: Clique em Janela > Preferências, expanda o nó Executar/Depurar e clique em Depurador do Procedimento Armazenado DB2. Modifique o campo Tempo Limite do Gerenciador de Sessão em Minutos.

O depurador não pode processar um procedimento armazenado que tenha muitas variáveis no DB2 para Linux, UNIX e Windows. O número máximo de variáveis é 200.

Movimento do cursor em uma sessão de depuração: Em alguns casos, quando houver mais de uma declaração de variável em um procedimento, clique em Avançar para ou em Avançar sobre mais de uma vez para mudar para a próxima linha. Por exemplo, você deve clicar duas vezes nesta linha: DECLARE v_dept, v_actdept CHAR(3) e três vezes nesta linha: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2). É necessário clicar um número de vezes igual ao número de declarações de variáveis.

Se você iniciar uma sessão de depuração para um procedimento armazenado Java e incluir pontos de interrupção, desative os pontos de interrupção, pois ainda estão ativados. Para solucionar esse problema, quando iniciar uma nova sessão de depuração, remova primeiramente todos os pontos de interrupção anteriores e, em seguida, inclua novos.

Em alguns casos, quando você estiver trabalhando com vários projetos de desenvolvimento de dados, poderá ver um erro quando tentar depurar um procedimento armazenado que informe "Impossível localizar o procedimento armazenado PROCNAME. É possível que o procedimento tenha sido excluído do espaço de trabalho" ou "Origem não localizada".

Se você estiver depurando um procedimento armazenado SQL logo após a finalização de uma sessão de depuração de um procedimento armazenado Java, o depurador poderá mostrar "A função definida pelo usuário... foi interrompida pelo usuário."  Para solucionar esse problema, tente depurar o procedimento armazenado SQL novamente.

Funcionalidade do núcleo de dados:
ALIAS, MQT, NICKNAME e SYNONYM são agora suportados durante a engenharia de ida e volta, mas não são suportados no processo de Mapeamento EJB.
Suporte limitado para MySQL 4.1: As seguintes propriedades não são exibidas corretamente na visualização Propriedades: índice exclusivo, colunas de incremento automático, valor padrão da coluna para NULL e binário. Além disso, procedimentos e funções em C não são suportados.

Acionadores, restrições de verificação e visualizações não são suportados para o Cloudscape v5.1: Os acionadores e as restrições de verificação do Cloudscape v5.1 não são exibidos no Explorador de Banco de Dados. As visualizações do Cloudscape v5.1 estão ausentes no corpo de SQL na visualização Propriedades. Não é possível gerar DDL ou acionadores de engenharia reversos do Cloudscape v5.1, restrições de verificação ou visualizações.