1.0 Introdução
2.0 Software Suportado e Especificações
3.0 Limitações
3.1
É Preciso Estar On-line para Gerar Java Bean ou Método EJB a Partir
de um Procedimento Armazenado
4.0 Problemas Conhecidos
4.1 Gabaritos de Bancos de Dados
4.2 Consultas SQL
4.3 Conexões de Bancos de
Dados
4.4 SQL DDL
4.5 Relatório de Erros
4.6
Execução de Instruções SQL Cria Tabelas Incorretas no Oracle
4.7 Exportação de Dados
4.8 Renomeando Pastas em Projeto de Banco de Dados
4.9 Comentários de SQL
4.10 Registrar Entrada e Saída de SQL Statements Antes de Abri-las no SQL Builder
4.11 Não Adicionar Imediatamente Instruções SQL
Recém-Criadas ao Controle de Versões
4.12 Editando Procedimentos Armazenados Java
4.13 Dados DBCS são Truncados ao Conectar ao DB2/390 (CP930)
4.14 Alterações Perdidas ao Fechar o Editor de Documento Somente Leitura
4.15 Identificadores de Objeto Esquema sem Aspas para Locales que Não São em Inglês
4.16 Conectando-se a um Servidor DB2
4.17 A Eliminação de Procedimentos Armazenados Java do DB2 Versão 8 Não é Suportada ao Utilizar o Cliente DB2 Versão 7
4.18 Alterando Manualmente os Tipos de Dados SQL Retornados para UDFs de Tabelas do DB2
4.19 Problemas com o Sequelink 5.1 Fornecido com o WebSphere Studio
4.20 Driver DataDirect Sequelink 5.3
4.21 Problemas ao Recuperar Tabelas do Microsoft SQL Server
4.22 Problemas ao Conectar-se ao Cloudscape 5.1
4.23 Mensagem de Erro ao Mover/Renomear/Excluir Arquivo JAR de JDBC
4.24 Nós de Esquema Duplicados Aparecerão ao Importar, Excluir ou Importar Novamente Arquivos JAR de EJB
4.25 Mensagens de Erro Árabes Danificadas Durante a Exportação de Dados Relacionais
As ferramentas de banco de dados relacional no WebSphere Studio permitem que você conecte-se a bancos de dados, procure ou importe designs de banco de dados, projete novos bancos de dados utilizando assistentes, exporte novos designs para o banco de dados, crie e execute consultas SQL utilizando o SQL Builder, crie e execute procedimentos armazenados do DB2, bem como funções definidas pelo usuário do DB2. As ferramentas de banco de dados relacional são acessadas por meio das exibições Data Definition e DB Servers na perspectiva Data.
As ferramentas do banco de dados relacional suporta as conexões e importações dos seguintes tipos de banco de dados:
- SQL 92, 99
- Cloudscape 5.0.4
- DB2 UDB 6.1, 7.1, 7.2, 8.1
- DB2 UDB para iSeries 4.5, 5.1
- DB2 UDB para OS/390 6, 7
- DB2 UDB Express Edition 8.1
- Oracle 8i 8.1.7
- Oracle 9i 9.0.1
- SQL Server Enterprise 7.0 SP2
- SQL Server Enterprise 2000
- Sybase Adaptive Server Enterprise 11.9.2, 12, 12.5
- Informix Dynamic Server.2000 9.2
- Informix Dynamic Server 7.3, 9.3, 9.3.1
- MySQL 3.23
- InstantDB 3.26
O suporte SQL no assistente para SQL e o construtor de consulta SQL dependem do nível do suporte fornecido pelo fornecedor do banco de dados.
Suporte para Fullselect:
Suporte de junções:
- Aplicável apenas ao DB2, Oracle, Cloudscape e Sybase.
- Para DB2, são suportados os operadores Union, Union All, Except, Except All, Intersect e Intersect All assim como para as cláusulas dos valores.
- Para Oracle, são suportados os operadores Union, Union All, MINUS e Intersect
- Para Sybase, são suportados os operadores Union e Union All.
- Para Cloudscape, o Union, Union All e cláusulas de valores são suportados.
Agrupando suporte a resultados de consulta:
- DB2: junções internas, junções externas à esquerda, junções externas à direita, junções externas completas
- Oracle: junções internas, junções externas à esquerda e à direita. A sintaxe para junções externas à esquerda e à direita é consistente com a sintaxe "+" do Oracle na cláusula where.
- Sybase, Cloudscape e MySQL: junções internas, junções externas à esquerda e junções externas à direita.
Suporte à expressão Cast:
- DB2: Agrupar por, Acumular, Conjuntos de Agrupamento e Cubos
- Oracle: Agrupar por, Acumular e Cubo
- Sybase: Agrupar por
- Cloudscape: Agrupar por
- DB2 - expressão CAST COMO expressão
- MS SQL Server - expression CAST COMO data_type
- Oracle - não há suporte para TRANSLATE
No Linux, você pode sofrer uma falha ao conectar-se ao DB2 Universal Database para iSeries V5R1 utilizando o Driver JDBC AS/400 Toolbox para Java. O problema ocorre quando você insere uma senha incorreta ou deixa o campo de senha em branco. Se isso acontecer, inicie novamente o produto e conecte outra vez utilizando a senha correta.
Para utilizar os assistentes que permitem gerar um Java Bean ou um método EJB a partir de um Procedimento Armazenado, é preciso estar trabalhando on-line.
- Atualmente não há suporte para modelar índices, verificação e limitações exclusivas, disparos, tipos estruturados ou colunas de identidade.
- As ferramentas de bancos de dados relacionais não suportam opções de verificação em exibições.
- Parênteses desnecessários nas instruções de consulta causarão erros de análise.
- A utilização de parênteses nas cláusulas de condição WHERE da consulta não é atualmente suportada.
- Arquivos SQL grandes podem tornar o editor lento.
- Para Oracle, as instruções de atualização devem atribuir valores a colunas individualmente sem o uso de grupos colocados entre parênteses. Para incluir colunas individualmente e incluir um valor utilizando uma subconsulta, utilize a opção "Build Expression" na caixa de combinação da célula da tabela Value para criar uma expressão de consulta para a coluna.
- As modificações nos objetos banco de dados utilizados por uma instrução podem ocasionar falha do SQL Builder porque ele não pode mais analisar a instrução com êxito para o gabarito de dados local.
- Editar uma exibição e, em seguida, abrir uma instrução que contém a exibição pode causar um encerramento inesperado do workbench.
- Se uma conexão de banco de dados for desconectada fora do WebSphere Studio, a conexão não será solicitada na execução da instrução. Reimporte o banco de dados para o projeto, a partir da exibição DB Servers, para restaurar a conexão.
- Uma consulta não pode ser criada utilizando uma exibição que seja derivada de uma função definida pelo usuário.
- O método arrastar e soltar para objetos banco de dados é suportado apenas na exibição Data Definition, e não na exibição DB Servers.
- Se importar uma tabela DB2 UDB ou DB2 para iSeries com uma coluna do tipo DATALINK, as opções de controle de link da coluna não serão importadas. O comprimento de DATALINK será definido como 200 por padrão e as opções do link serão definidas como NO LINK CONTROL por padrão. É possível atualizar essas propriedades no editor da tabela após importar a tabela para a Exibição Data.
- A remoção de várias conexões na exibição DB Servers nem sempre funciona. Se você encontrar esse problema, poderá manter suas conexões ou continuar removendo-as uma por vez.
- Os tipos de dados da cadeia de caracteres podem não ser importados corretamente para conexões com servidores iSeries. Os tipos CHAR FOR BIT DATA, VARCHAR FOR BIT DATA e LONG VARCHAR FOR BIT DATA podem ser importados sem as opções FOR BIT DATA. Nesses casos, utilize o editor de tabela na perspectiva Data para editar as colunas afetadas.
- Os nomes de objetos de esquemas que contêm caracteres DBCS não podem ser importados corretamente a partir do iSeries. Pode estar faltando aspas nos identificadores delimitados. Nesses casos, utilize o editor de tabela para editar a coluna e os nomes de limitação.
- Os identificadores para limitações de chave principal não são importados para as conexões do OS/390.
- Os valores padrão de coluna que são procedimentos armazenados, funções ou definidos com uma cláusula de identidade não são importados corretamente e podem resultar em caracteres não-ASCII em um documento da tabela. Os caracteres não-ASCII causam problemas durante o carregamento do documento. Quando isso ocorre, é necessário editar manualmente o documento tblxmi do problema e remover a marcação e o valor padrão.
- Ao utilizar o driver Connect JDBC do WebSphere para conexões com um banco de dados SQL Server, normalmente são necessários 3 arquivos jar para especificar a localização da classe. Recomendamos que você combine esses arquivos jar em um único arquivo jar. Caso contrário, quando o assistente for reaberto depois de fazer uma conexão, ele estará anormalmente maior. Isso é devido ao comprimento do campo Driver location.
- Ao criar uma nova conexão de banco de dados de um cliente do DB2 Versão 8, se desejar utilizar o Driver JDBC IBM DB2 NET DRIVER, você deve adicionar estes dois arquivos JAR ao campo Class location: <DB2HOME>/java/db2jcc.jar e <DB2HOME>/java/common.jar (em que <DB2HOME> é o diretório onde o DB2 foi instalado). Se isso não for feito, ocorrerá um erro. Nota: Se você utilizar o Assistente New Database Connection sem adicionar esses arquivos JAR a sua localização de classes, os procedimentos armazenados não serão carregados. Será preciso ativar novamente o assistente de conexão para inserir os arquivos no campo Class location.
- Metadados de esquema e de tabela podem não ser importados ao utilizar um cliente do DB2 UDB Versão 8 para conectar-se a um DB2 Versão 7 ou anterior no z/OS. Para corrigir o problema, instale o PTF UQ72081 do DB2 para z/OS.
- Você pode encontrar problemas na importação ou edição que envolve o tipo de dados longos Oracle.
- Arquivos SQL DDL muito grandes podem tornar o editor lento.
- Arquivos SQL DDL muito grandes podem causar exceções de falta de memória durante a análise ou execução.
- A edição de scripts do Oracle pode exibir erros na exibição Outline do editor. Por exemplo, as instruções "CREATE SEQUENCE", "CREATE OR REPLACE TRIGGER" e "END" serão exibidas como errôneas. No entanto, você pode continuar exportando esses itens para um servidor Oracle.
Quando encontrar um erro durante a análise de um arquivo SQL, geralmente o problema está com o próximo sinal depois daquele reportado pela mensagem de erro. A mensagem de erro também é exibida na lista de tarefas.
Quando um arquivo sql é executado no servidor de banco de dados Oracle, é necessário selecionar inicialmente a criação das seqüências de tabelas e acionadores. Isto ocorre porque o WebSphere interage incorretamente com o Oracle inserindo espaços extras. Depois que as tabelas tiverem sido criadas, vá para a máquina do servidor Oracle e edita a instrução para remover os espaços inseridos e adicionar o comando 'end;'. Em seguida, volte ao WebSphere e execute novamente a instrução sql no servidor, desta vez selecionando as instruções Alter e insert.
- Você só pode eliminar artifacts existentes no banco de dados/catálogo de backend executando Run on Server em scripts SQL DDL. Em Data Objects (por exemplo, banco de dados, esquema e tabela), se você desejar eliminar os objetos existentes, deverá selecionar Generate DDL no menu pop-up, especificando para eliminar as instruções existentes. No script SQL DDL gerado, selecione Run on Server no menu pop-up. Se os objetos não existirem atualmente no banco de dados/catálogo de backend, escolher Export to Server nos objetos de dados será suficiente.
- Exportar determinadas instruções para o servidor Oracle pode causar espaçamento nos identificadores no servidor. Por exemplo, uma instrução como: CREATE OR REPLACE TRIGGER SET_TRANSACTIONS_TRANID BEFORE INSERT ON TRANSACTIONS FOR EACH ROW WHEN (NEW.TRANID IS NULL) BEGIN SELECT TRANSACTIONS_TRANID_SQ.NEXTVAL INTO :NEW.TRANID FROM DUAL; END;
Após a execução desse script para o servidor, os identificadores especificados na cláusula SELECT podem aparecer de modo diferente, por exemplo, "TRANSACTION_TRANID_SQ.NEXTVAL" pode aparecer como "TRANSACTIONS_TRANID_SQ . NEXTVAL"
Alterar o nome de uma pasta dentro de um projeto que contém um banco de dados interromperá referências de URI nos arquivos relacionados ao banco de dados no projeto e causará erros. Se uma pasta tiver que ser renomeada, todas as referências relacionadas nos arquivos relacionados ao banco de dados deverão ser alteradas. Por exemplo, a seguinte referência existe em um arquivo de objeto tabela (com extensão .tblxmi) e o banco de dados no projeto está contido em uma pasta denominada folder1:
<database href="folder1/Con1_VIDEOS.dbxmi#RDBDatabase_1"/>
Se o nome da pasta for alterado para folder2, essa linha deverá ser alterada para refletir a alteração:
<database href="folder2/Con1_VIDEOS.dbxmi#RDBDatabase_1"/>
Os comentários de SQL (linhas precedidas por traço duplo: --) não são suportados no SQL Builder.
Se você estiver editando Instruções SQL (arquivos .sqx) que estejam sob controle de versão, assegure-se de que a instrução não esteja aberta no SQL Builder quando estiver registrando a entrada e saída delas. Registre a saída do arquivo (na exibição Navigator) e, em seguida, edite a instrução. Depois de concluir a edição da instrução, salve suas alterações, feche o SQL Builder e registre novamente a entrada do arquivo.
Se você criar uma nova SQL Statement e for avisado para incluí-la no controle de versão, não faça isso. Faça as alterações necessárias no arquivo utilizando o SQL Builder, feche o arquivo, em seguida, inclua-o para controle de versão.
- Se o projeto for um projeto Java, o editor mostra um ícone de lâmpada na barra marcadora na primeira linha de um procedimento armazenado Java. Você pode ignorar esse marcador. O marcador não causará problemas quando você construir o procedimento armazenado Java.
- O editor permite incluir pontos de interrupção no código fonte de um procedimento armazenado Java. No entanto, esses pontos de interrupção são ignorados porque a depuração de procedimentos armazenados Java ainda não é suportada.
Devido a uma limitação do JDBC, ao conectar-se ao DB2/390 (CP930), alguns dados DBCS são truncados com base no comprimento de dados da codificação UTF-8. 10 caracteres SBCS Katakana podem ser recebidos como 3 caracteres Katakana por uma instrução "SELECT". Os dados reais armazenados em uma tabela no OS/390 são '8182838485868788898A' em hexadecimal, que são 10 caracteres Japonês Katakana (1 byte para 1 caractere). No entanto, ao utilizar o driver JDBC com a definição padrão, os dados de consulta recebidos mostram apenas 3 caracteres ('efbdb1efbdb2efbdb3') como a cadeia de 9 bytes válida no UTF-8, que seria extraída de 'efbdb1efbdb2efbdb3efbdb4efbdb5efbdb6efbdb7efbdb8efbdb9efbdba' no driver JDBC.
Se for registrada a saída de um documento, ou seja, se ele estiver marcado como somente para leitura enquanto um editor está aberto no documento, todas as alterações pendentes serão perdidas quando o editor for fechado. Assegure que seja registrada a saída de um documento antes que ele seja aberto em um editor.
O carregador de catálogo JDBC não pode determinar se um identificador de objeto de esquema deve ser delimitado para locales diferentes do inglês. Para identificadores que devem ser delimitados, após a importação abrir o editor de esquema/tabela para renomear o objeto de esquema. Consulte a documentação do servidor do banco de dados, para determinar quando um identificador deve ser delimitado.
- Ao conectar-se ao DB2 Universal Database para iSeries, você deve selecionar o AS/400 Toolbox for Java JDBC Driver no campo pull-down JDBC driver do assistente New Database Connection. Para obter informações adicionais, consulte o tópico da ajuda "Criando uma Conexão JDBC Utilizando um Driver do DB2 Universal Database para iSeries."
- O driver Universal do DB2 para Linux, Unix e Windows não suporta procedimentos armazenados Java e SQLJ.
- A conexão de um cliente DB2 v8 para um servidor DB2 v7 no Linux, Unix e Windows não é suportada.
Para outros servidores DB2, consulte a ajuda on-line para selecionar drivers JDBC quando fizer conexões do banco de dados.
Se você estiver trabalhando com o DB2 Universal Database Versão 7 em sua estação de trabalho cliente e conectando ao DB2 Universal Database Versão 8 no servidor, não será possível eliminar os procedimentos Java armazenados do servidor DB2 Versão 8.
Quando você utiliza o assistente para New SQL User-Defined Function para criar um UDF da tabela do DB2, o assistente recomenda tipos de dados SQL para os dados retornados para cada coluna.
Se o assistente não puder mapear um tipo de dados correspondente para uma coluna ou se você quiser utilizar um tipo de dados retornado diferente para uma coluna, abra o UDF gerado no editor e altere o tipo de dados manualmente.
O WebSphere Studio inclui uma versão com a marca WebSphere do cliente JDBC Sequelink 5.1 em WS_installdir/runtimes/aes_v4/lib/sljc.jar. As ferramentas de bancos de dados relacionais do WebSphere Studio não estão ativadas para utilizar essa versão do cliente para conexão JDBC. Você pode receber a mensagem de erro:
IWAS0126E Problems encountered while trying to establish connection connection_name Reason: Connection was not established because the selected JAR file is not a WebSphere branded DataDirect client. Ensure the selected JAR comes from a WebSphere install.
quando este JAR é especificado no campo JDBC class location do assistente Connection. Uma versão do cliente que as ferramentas de bancos de dados relacionais estão ativadas para utilizar pode ser obtida do Suporte IBM.
O WebSphere Studio Versão 5.x inclui uma nova versão do cliente JDBC DataDirect Sequelink. O cliente JDBC DataDirect Sequelink 5.3 pode ser encontrado no archive WS_installdir/runtimes/base_v5/lib/sljc.jar. Consulte a documentação das ferramentas de bancos de dados relacionais sobre como conectar-se a um banco de dados utilizando o driver JDBC Sequelink 5.1.
- Utilizando os drivers JDBC DataDirect SequeLink 5.1, 5.3 ou WebSphere Connect, não é possível recuperar tabelas do Microsoft SQL Server Versão 7 se você não for o proprietário dessas tabelas. Por exemplo, se você for proprietário de Table1 e Table2 em DatabaseA e especificar no assistente de Conexão a Banco de Dados a conexão a DatabaseB, somente Table1 e Table2 serão mostradas embora essas tabelas não pertençam a DatabaseB, mas são recuperadas porque o ID do usuário utilizado a conexão é o proprietário das tabelas.
- Você também precisa ser proprietário das tabelas se estiver utilizando os drivers JDBC DataDirect SequeLink 5.1 ou 5.3 para recuperar tabelas do Microsoft SQL Server 2000.
Ações múltiplas de conexão e desconexão utilizando o Cloudscape 5.1 podem resultar em tabelas sem colunas na área de janela Servidores de BD. Caso encontre esse problema, reinicie o WebSphere Studio.
Os arquivos jar de JDBC, ou seja, os arquivos jar especificados no campo de localização de classe do Assistente Connection, são bloqueados para uso na sessão da JVM atual após a primeira vez que uma conexão é estabelecida. Tentativas de renomear/mover/excluir os arquivos jar resultarão na seguinte mensagem de erro: 'The process cannot access the file because it is being used by another process'. O arquivo será desbloqueado quando o workbench encerrar.
Importar, excluir e importar novamente arquivos JAR de EJB (amostras ou outros) com a Perspectiva Data ou a Perspectiva J2EE aberta, ou ambas, ocasionalmente faz com que apareçam nós de esquema duplicados sob os bancos de dados backend para aquele arquivo JAR de EJB. As entradas são inofensivas, porém recomenda-se encerrar e reiniciar a perspectiva para remover as entradas duplicadas.
Ao exportar dados relacionais para um banco de dados UTF-8 UDB DB2 V7, utilizando o locale árabe, você pode ter mensagens de erro danificadas e podem ocorrer erros. Não há soluções alternativas para esse problema.
Retornar para o arquivo leia-me principal
(C) Copyright IBM Corporation 2000, 2003. Todos os Direitos Reservados.