© Copyright International Business Machines Corporation 2006. Todos direitos reservados. Direitos Restritos para Usuários do Governo dos Estados Unidos - Uso, duplicação e divulgação restritos pelo documento GSA ADP Schedule Contract com a IBM® Corporation.
Há dois novos tipos de projetos de dados no ambiente de trabalho:
- Projetos de design de dados
- Projetos de desenvolvimento de dados
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 aplicativo de dados, como procedimentos armazenados e funções definidas pelo usuário (também conhecidas como rotinas). As rotinas também podem ser visualizadas de um projeto de design de dados como parte de um modelo de dados físico. No entanto, o suporte de desenvolvimento para rotinas de um projeto de design de dados é muito limitado e não há suporte de ferramenta 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.
No editor de dados da tabela, se você executar uma validação XML em uma tabela XML que não tenha uma chave primária, a validação XML funcionará apenas a primeira vez, quando você inserir o valor XML. Além disso, uma atualização de uma coluna XML existente com validação XML falhará.
Solução alternativa: Crie uma chave primária para as tabelas que contêm colunas XML.
Trabalhar com vários elementos-raiz neste editor poderá levar a erros quando você salvar o arquivo XSD anotado.
Solução alternativa: Crie um conjunto separado de arquivos de documentos de Esquema XML para cada elemento-raiz.
Para utilizar tipos de dados XML e trabalhar com esquemas XML, você deve se conectar a um banco de dados UTF-8. O valor de dados retornados do banco de dados para documentos XML é ilimitado. Dependendo do valor de dados que você retornar, o desempenho poderá ser afetado.
- O editor SQL atualmente não suporta variáveis de host durante a ação Executar SQL.
Solução alternativa: É possível executar o SQL a partir do construtor SQL, se ele for uma instrução DML.
- No construtor SQL, a sintaxe SQL completa não é suportada. Por exemplo, as funções UTDs (User Defined Types) e Table não são suportadas.
- UDTs (Tipos Definidos pelo Usuário) não são suportados como parâmetros para rotinas.
- Para implementar procedimentos armazenados Java™ que tenha como destino o DB2 Universal Database™ for iSeries® a partir do sistema de arquivos utilizando a implementação de 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 em DeployInstructions.txt, poderá obter uma mensagem de erro que diz:
...[createsp] Não foi possível conectar-se ao banco de dados de destino.
[createsp] com.ibm.db2.jcc.DB2Driver...Solução alternativa: 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.
Solução alternativa: Você deve especificar a opção "-source 1.4" no campo Opções de compilação do assistente Implementar Rotinas quando estiver implementando procedimentos armazenados Java em servidores que utilizam um JDK de nível 1.4. (por exemplo, um servidor 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 faz parte da ferramenta de implementação Ant.Solução alternativa: 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 de 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.
Solução alternativa: 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 um UDF entre servidores diferentes (por exemplo, de um servidor DB2 Universal Database para Linux, UNIX e Windows para um servidor DB2 Universal Database para z/OS®), 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 o UDF, poderá ver um erro.
- A execução de Criação de Perfis SQL em relação a um DB2 UDB para servidor Linux, UNIX e Windows V8.2 poderá causar uma exceção de ponteiro nulo se estiver faltando no servidor o procedimento armazenado de pré-requisito (SYSIBM.SQLCAMESSAGECCSID) que é exibido pelo driver JCC para recuperar o texto da mensagem de erro.
Solução alternativa: é possível 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 as instruções DML, como INSERT, SELECT, DELETE e UPDATE, que são emitidas no procedimento. No entanto, eventos não são gerados de um modo determinista para instruções de procedimento, como designações de variáveis e estruturas de controle, como WHILE ou IF. Portanto, as informações de criação de perfil podem não ser geradas para instruções referentes a procedimentos.
- Quando você está conectado a um servidor UNIX DB2, as exceções de tempo limite podem ocorrer quando você está adicionando pontos de interrupção ou executando em modo de depuração.
- O depurador não é executado por um procedimento armazenado cujo nome contém caracteres em inglês e chinês.
- As expressões Watch são suportadas apenas para procedimentos armazenados Java dinâmicos. Elas não são suportadas para procedimentos armazenados SQL e SQLJ.
- O depurador não parará em um ponto de interrupção se ele não estiver posicionado no primeiro token de uma instrução executável, como SET. Além disso, ele não pára em DECLARE CONTINUE, CLOSE CURSOR ou ROLLBACK.
- Se você estiver depurando um procedimento armazenado Java e selecionar uma ação Terminar, ele poderá ter vários minutos para a sessão de depuração para terminar completamente. Novas sessões de depuração que são iniciadas durante esse tempo podem se comportar de forma errada.
- Se estiver depurando um procedimento armazenado Java que chama um segundo procedimento armazenado Java, você não poderá depurar o segundo procedimento armazenado. Você não pode percorrer passo a passo no procedimento armazenado aninhado e nenhum ponto de interrupção que você configurar no procedimento armazenado aninhado será ignorado. Essa restrição é válida para Linux, UNIX e Windows.
- Se o erro 'Tempo limite enquanto está aguardando o pacote' for exibido enquanto você está depurando um procedimento armazenado Java, tente aumentar a configuração de tempo limite do Java.
Solução alternativa: Para aumentar a configuração de tempo limite do 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 Preferências de depuração, aumente o valor de Tempo limite do depurador(ms) na seção Tempo limite para comunicação. Recomenda-se que você pelo menos dobre 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.
Solução alternativa: Para ativar o botão, selecione o botão de opções Informar uma avaliação, configure o valor para uma cadeia não vazia (por exemplo, 'a') e, em seguida, selecione o botão de opções Informar texto literal. O botão OK ficará, então, disponível.
- Se você vir variáveis locais quando estiver depurando um procedimento armazenado Java, o procedimento armazenado poderá ter sido implementado sem a opção do compilador -g.
Solução alternativa: Assegure-se de especificar a opção -g do compilador durante a implementação de procedimentos armazenados Java.
- Se você vir a mensagem 'estrutura de pilha inválida' na visualização Variáveis, vá para a visualização Depuração e clique no objeto de encadeamento acima da estrutura de pilha e clique na estrutura de pilha. Isso deverá atualizar a visualização Variáveis e o erro não deverá mais ser exibido.
- Quando você estiver depurando um procedimento armazenado SQLJ que esteja em execução no DB2 UDB for iSeries V5 R4, a linha atual que está sendo executada não corresponderá à linha de origem SQLJ indicada foi exibida na visualização Depuração, a menos que você tenha aplicado uma iSeries PTF que atualiza o mapa de linha para corresponder à origem SQLJ, em vez da origem Java.
- As preferências do depurador para tempo limite do gerenciador de sessão (Janela > Preferências e, em seguida, expanda Executar/Depurar e clique em Depurador de Procedimento Armazenado do DB2 e, em seguida, modifique o campo Tempo limite do gerenciador de sessão em minutos) não são reconhecidas.
- O depurador não pode manipular 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, você deve clicar 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); Você deve clicar em um número de vezes igual ao número de declarações 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 e os pontos de interrupção ainda estarão ativados.
Solução alternativa: 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 diz "Impossível localizar o procedimento armazenado PROCNAME. O procedimento pode ter sido excluído do espaço de trabalho" ou "Origem não localizada".
- Depois de depurar um procedimento armazenado SQL aninhado, às vezes a visualização da saída dos dados ainda poderá mostrar que o depurador está em execução e isso poderá causar problemas em qualquer execução ou implementação subseqüente de procedimentos armazenados.
Solução alternativa: O gerenciador de sessão precisa ser executado na máquina cliente que tenha o produto do desenvolvedor instalado. Para iniciar o gerenciador de sessão, execute o arquivo db2dbgm.bat no diretório bin da Instalação do produto.
- Há um suporte limitado para a depuração de procedimentos armazenados em servidores DB2 V8 Linux, Unix, Windows e z/OS. Apenas procedimentos SQL podem ser depurados em um servidor DB2 V8 que tenha o fixpak 14 instalado. Para que o depurador funcione em um servidor DB2 V8, o gerenciador de sessão também precisa ser executado na máquina cliente que tem o produto do desenvolvedor instalado. Para iniciar o gerenciador de sessão, execute o arquivo db2dbgm.bat no diretório bin da Instalação do produto.
- ALIAS, MQT, NICKNAME e SYNONYM são agora suportados durante a engenharia bidirecional, mas não são suportados no processo 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 fazer engenharia reversa de acionadores, restrições de verificação ou visualizações do Cloudscape v5.1.
- Há um suporte limitado para tipos de dados estruturados definidos pelo usuário no Oracle: O nome de um tipo de dados estruturado definido pelo usuário não será incluído na definição da tabela ao gerar DDL para uma tabela do Oracle.
- A atualização de um objeto de contêiner no explorador de banco de dados pode falhar e causar esta exceção: "não é possível modificar o conjunto de recursos sem uma transação de gravação", após o fechamento do editor de comparação que foi aberto para comparar objetos no contêiner do explorador de banco de dados. Por exemplo, comparar uma tabela em seu modelo de dados físico com sua origem original pode causar essa exceção.
Solução alternativa: Quando isso ocorrer, é possível selecionar o contêiner que contém o objeto do contêiner e tentar atualizar novamente. Por exemplo, se a atualização de uma tabela falhar, tente atualizar o esquema que contém a tabela. Se as novas tentativas ainda falharem, será necessário desconectar do banco de dados e reconectar.
Se você definir uma tabela com uma coluna única 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 correspondem à linha selecionada são excluídas.
Solução alternativa: Não utilize o editor de dados de tabela para excluir uma linha de uma tabela com linhas duplicadas.