Outils de bases de données relationnelles - Notes sur l'édition

1.0 Introduction
2.0 Spécifications et logiciels pris en charge
3.0 Restrictions
   3.1 Nécessité de passer en mode En ligne pour générer un bean Java ou une méthode d'EJB à partir d'une procédure mémorisée
4.0 Problèmes connus
   4.1 Modèles de base de données
   4.2 Requêtes SQL
   4.3 Connexions aux bases de données
   4.4 DDL SQL
   4.5 Génération de rapports d'erreurs
   4.6 L'exécution d'instructions SQL crée des tables incorrectes dans Oracle
   4.7 Exportation de données
   4.8 Modification de noms de dossier dans un projet de base de données
   4.9 Commentaires SQL
   4.10 Réservation et libération d'instructions SQL avant leur ouverture dans SQL Builder
   4.11 Ne pas ajouter immédiatement des instructions SQL nouvellement créées au contrôle des versions
   4.12 Edition de procédures mémorisées Java
   4.13 Les données sur deux octets sont tronquées lors des connexions à DB2/390 (CP930)
   4.14 Modifications perdues lors de la fermeture de l'éditeur du document en lecture seule
   4.15 Guillemets manquantes pour les paramètres nationaux non anglais des identificateurs d'objets
   4.16 Connexion à un serveur DB2
   4.17 Retrait des procédures mémorisées Java de DB2 version 8 non pris en charge lors de l'utilisation d'un client DB2 version 7
   4.18 Modification manuelle des types de données SQL renvoyés pour les fonctions UDF des tables DB2
   4.19 Incidents liés à Sequelink 5.1 fourni avec WebSphere Studio
   4.20 Pilote de DataDirect Sequelink 5.3
   4.21 Incidents lors de l'extraction de tables de Microsoft SQL Server
   4.22 Incidents lors de la connexion à Cloudscape 5.1
   4.23 Message d'erreur lorsque vous déplacez, renommez ou supprimez un fichier JAR JDBC
   4.24 Noeuds de schéma en double lors de l'importation, la suppression ou la nouvelle importation de fichiers JAR d'EJB
   4.25 Messages d'erreur en arabe corrompus lors d'exportation de données relationnelles

1.0 Introduction

Les outils de base de données relationnelle de WebSphere Studio permettent de se connecter à des bases de données, d'afficher ou d'importer des modèles de base de données, de créer des bases de données à l'aide d'assistants, d'exporter de nouveaux modèles dans une base de données, de créer et d'exécuter des requêtes SQL à l'aide de SQL Builder et de créer et d'exécuter des procédures mémorisées DB2, ainsi que des fonctions DB2 définies par l'utilisateur. Les outils de bases de données relationnelles sont accessibles à partir de la perspective Données et des vues Définition de données et Serveurs de base de données.

2.0 Spécifications et logiciels pris en charge

Les outils de bases de données relationnelles prennent en charge la connexion et l'importation des types de base de données suivants :

La prise en charge de SQL dans l'assistant SQL et le générateur de requête SQL dépend du niveau de prise en charge offert par le fournisseur de la base de données.

Prise en charge de la sélection complète :

Prise en charge des jointures : Prise en charge des résultats des requêtes de regroupement : Prise en charge de l'expression cast :

Sous Linux, un arrêt système peut se produire lors de la connexion à DB2 Universal Database for iSeries V5R1 à l'aide du pilote JDBC AS/400 Toolbox for Java. Le problème se produit lorsque vous entrez un mot de passe incorrect ou que vous laissez la zone du mot de passe vide. Lorsque cette erreur se produit, redémarrez le produit et connectez-vous à nouveau en utilisant le mot de passe correct.

3.0 Restrictions

3.1 Nécessité de passer en mode En ligne pour générer un bean Java ou une méthode d'EJB à partir d'une procédure mémorisée

Pour utiliser les assistants et générer un bean Java ou une méthode d'EJB à partir d'une procédure mémorisée, vous devez travailler en mode En ligne.

4.0 Problèmes connus

4.1 Modèles de base de données

  1. La modélisation des index, contraintes uniques et de contrôle, déclencheurs, types structurés ou colonnes d'identité n'est pas prise en charge actuellement.
  2. Les outils des données relationnelles ne prennent pas en charge les options de vérification sur les vues.

4.2 Requêtes SQL

  1. Des crochets insérés inutilement dans les instructions de requête génèrent des erreurs dans l'analyseur (ou l'interpréteur).
  2. L'utilisation de parenthèses dans les clauses conditionnelles WHERE des requêtes n'est actuellement pas prise en charge.
  3. Les fichiers SQL de grande taille sont susceptibles de réduire les performances de l'éditeur.
  4. Pour Oracle, les instructions de mise à jour doivent affecter des valeurs aux colonnes individuellement, sans indiquer de groupes entre parenthèses. Ajoutez des colonnes individuellement et, pour ajouter une valeur avec une sous-requête, utilisez l'option "Créer une expression" dans la zone de liste des cellules de table Valeur pour créer une expression de requête pour la colonne.
  5. Les modifications apportées aux objets de base de données utilisés par une instruction peuvent entraîner l'échec de SQL Builder car ce dernier ne peut plus analyser correctement la syntaxe de l'instruction par rapport au modèle de données local.
  6. L'édition d'une vue, puis l'ouverture d'une instruction contenant cette même vue, peut provoquer un arrêt inattendu du plan de travail.
  7. Si une connexion à une base de données est imposée en dehors de WebSphere Studio, elle n'apparaîtra pas dans l'exécution de l'instruction. Réimportez la base de données vers le projet à partir de la vue Serveurs de base de données pour restaurer la connexion.
  8. Une requête ne peut pas être créée à l'aide d'une vue dérivée d'une fonction définie par l'utilisateur.
  9. Le déplacement par glissement des objets de base de données est pris en charge dans la vue Définition de données, mais pas dans la vue Serveurs de base de données.

4.3 Connexions aux bases de données

  1. Si vous importez une table DB2 UDB ou DB2 for iSeries contenant une colonne de type DATALINK, les options de contrôle des liens correspondant à cette colonne ne sont pas importées. La valeur de longueur par défaut de la colonne DATALINK est 200 et les options de lien ont par défaut la valeur NO LINK CONTROL. Vous pouvez mettre à jour ces propriétés dans l'éditeur de table après avoir importé la table dans la vue des données.
  2. La suppression de plusieurs connexions dans la vue Serveurs de base de données ne fonctionne pas toujours. Si vous rencontrez un tel problème, vous pouvez conserver vos connexions ou les supprimer une à une.
  3. Les chaînes de caractères peuvent ne pas être importées correctement pour les connexions aux serveurs iSeries. Les types de données CHAR FOR BIT DATA, VARCHAR FOR BIT DATA et LONG VARCHAR FOR BIT DATA peuvent être importés sans les options FOR BIT DATA. Dans ces cas, utilisez l'éditeur de tables dans la perspective Données pour éditer les colonnes affectées.
  4. Les noms d'objets de schémas qui contiennent des caractères DBCS peuvent ne pas être importés correctement à partir d'iSeries. Les guillemets peuvent être manquantes dans les identificateurs délimités. Dans ces cas, utilisez l'éditeur de tables pour éditer les noms de colonne et de contrainte.
  5. Les identifiants des contraintes de clé principale ne sont pas importés pour les connexions OS/390.
  6. Les valeurs de colonne par défaut qui correspondent à des procédures mémorisées, des fonctions, ou qui sont définies avec une clause d'identité ne sont pas importées correctement et peuvent se traduire par des caractères non Ascii dans un document de table. Ces caractères provoquent des erreurs lors du chargement du document. Lorsque cela se produit, il est nécessaire d'éditer manuellement le document tblxmi à l'origine de l'erreur et de supprimer la balise et la valeur par défaut.
  7. Lorsque vous utilisez le pilote Connect JDBC WebSphere pour les connexions à une base de données de serveur SQL, vous avez généralement besoin de trois fichiers jar pour spécifier l'emplacement des classes. Il est recommandé de regrouper ces fichiers jar en un seul. Dans le cas contraire, lorsque l'assistant est rouvert après avoir établi une connexion, sa taille est anormalement grande. Cela est dû à la longueur de la zone indiquant l'emplacement du pilote.
  8. Si vous créez une connexion à la base de données à partir d'un client DB2 version 8 et que vous souhaitez utiliser le pilote JDBC IBM DB2 NET DRIVER, vous devez ajouter les deux fichiers JAR suivants à la zone Emplacement de la classe : <DB2HOME>/java/db2jcc.jar et<DB2HOME>/java/common.jar (où <DB2HOME> correspond au répertoire où vous avez installé  DB2). Si vous n'effectuez pas cette opération, une erreur est générée. Remarque : Si vous utilisez l'assistant Nouvelle connexion à une base de données sans ajouter ces fichiers JAR dans le chemin d'accès aux classes, les procédures mémorisées ne sont pas chargées. Vous devez rouvrir l'assistant de connexion pour indiquer les fichiers dans la zone Emplacement de la classe.
  9. Les métadonnées relatives au schémas et aux tables risquent de ne pas être importées lorsque vous utilisez un client DB2 UDB version 8 pour vous connecter à la version 7 (ou antérieure) de DB2 sous z/OS. Pour corriger cette erreur, installez le module PTF UQ72081 DB2 pour z/OS.

4.4 DDL SQL

  1. Des incidents risquent de se produire lors de l'importation ou de la modification de données Oracle de type long.
  2. Les fichiers DLL SQL de très grande taille sont susceptibles de réduire les performances de l'éditeur.
  3. Ils peuvent générer des exceptions de type mémoire saturée au cours de l'analyse ou de l'exécution.
  4. L'édition de scripts Oracle peut générer des erreurs dans la vue Structure de l'éditeur. Par exemple, les instructions "CREATE SEQUENCE", "CREATE OR REPLACE TRIGGER" et "END" seront erronées. Toutefois, vous pouvez toujours exporter ces éléments sur un serveur Oracle.

4.5 Génération de rapports d'erreurs

Une erreur risque de se produire lors de l'analyse d'un fichier SQL. Le symbole situé après le symbole désigné par le message d'erreur en est la cause. Le message d'erreur est également affiché dans la liste des tâches.

4.6 4.6 L'exécution d'instructions SQL crée des tables incorrectes dans Oracle

Lorsqu'un fichier SQL est exécuté sur un serveur de bases de données Oracle, il est nécessaire de choisir de créer au préalable les séquences de tables et les déclencheurs. En effet, WebSphere ne communique pas correctement avec Oracle et insère des espaces supplémentaires. Une fois les tables créées, accédez au serveur Oracle et modifiez l'instruction pour supprimer les espaces insérés et ajouter la commande 'end;'. Accédez à nouveau à WebSphere et ré-exécutez l'instruction SQL sur le nouveau serveur en sélectionnant cette fois les instructions Alter et Insert.

4.7 Exportation de données

  1. Vous ne pouvez copier des artefacts existants dans le catalogue/la base de données d'arrière-plan qu'en exécutant l'option Exécuter sur le serveur sur les scripts DDL SQL. Pour copier les objets existants dans des objets de données (bases de données, schémas, tables), vous devez sélectionner l'option Générer un fichier DDL dans le menu en incrustation, en spécifiant la copie des instructions existantes. Dans le script DLL SQL généré, sélectionnez l'option Exécuter sur le serveur dans le menu en incrustation. Si les objets n'existent pas dans le catalogue/la base de données d'arrière-plan, il suffit de choisir Exporter vers le serveur sur les objets de données.
  2. L'exportation de certaines instructions sur un serveur Oracle peut être à l'origine d'espacements entre les identifiants sur le serveur. Considérons par exemple l'instruction suivante : 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;

    Après l'exécution de ce script sur le serveur, les identifiants spécifiés dans la clause SELECT peuvent apparaître différemment (par exemple, "TRANSACTION_TRANID_SQ.NEXTVAL" peut devenir "TRANSACTIONS_TRANID_SQ . NEXTVAL")

4.8 Modification de noms de dossier dans un projet de base de données

La modification du nom d'un dossier dans un projet contenant une base de données rompt les références d'URI dans les fichiers du projet associés à cette base de données et provoque des erreurs. Si un dossier doit être renommé, toutes les références connexes dans les fichiers associés à la base de données doivent être modifiées. Supposons par exemple que la référence suivante existe dans un fichier de tables (extension .tblxmi) et que la base de données du projet se trouve dans le dossier folder1 :

<database href="folder1/Con1_VIDEOS.dbxmi#RDBDatabase_1"/>

Si le nom du dossier est renommé en folder2, la ligne suivante doit être modifiée pour prendre en compte le nouveau nom :

<database href="folder2/Con1_VIDEOS.dbxmi#RDBDatabase_1"/>

4.9 Commentaires SQL

Les commentaires SQL (lignes précédées d'un double trait d'union (--)) ne sont pas pris en charge dans SQL Builder.

4.10 Réservation et libération d'instructions SQL avant leur ouverture dans SQL Builder

Si vous éditez une instruction SQL (fichiers .sqx) sous contrôle des versions, vérifiez qu'elle n'est pas ouverte dans SQL Builder avant de la réserver ou de la libérer. Réservez le fichier (dans la vue Navigateur), puis éditez l'instruction. Après avoir édité l'instruction, sauvegardez vos modifications, fermez SQL Builder, puis libérez le fichier.

4.11 Ne pas ajouter immédiatement des instructions SQL nouvellement créées au contrôle des versions

Si vous créez une instruction SQL et que vous êtes invité à l'ajouter au contrôle des versions, ne le faîtes pas. Apportez les modifications nécessaires au fichier à l'aide de SQL Builder, fermez le fichier, puis ajoutez-le au contrôle des versions.

4.12 Edition de procédures mémorisées Java

4.13 Les données sur deux octets sont tronquées lors des connexions à DB2/390 (CP930)

En raison d'une restriction de JDBC, lorsque vous vous connectez à DB2/390 (CP930), certaines données sur 2 octets sont tronquées en fonction de la longueur des données du codage UTF-8. Dix caractères Katakana sur 1 octet peuvent être reçues comme 3 caractères Katakana par une instruction "SELECT". Les données stockées en réalité dans une table OS/390 sont '8182838485868788898A' en hexadécimal, soit 10 caractères japonais Katakana (1 octet par caractère). Toutefois, lorsque vous utilisez le pilote JDBC avec le paramètre par défaut, les données de la requête reçue n'affichent que 3 caractères ('efbdb1efbdb2efbdb3') pour la chaîne de 9 octets 'efbdb1efbdb2efbdb3efbdb4efbdb5efbdb6efbdb7efbdb8efbdb9efbdba' valide dans UTF-8, qui serait tronquée dans le pilote JDBC.

4.14 Modifications perdues lors de la fermeture de l'éditeur du document en lecture seule

Si un document est réservé, c'est-à-dire marqué en lecture seule lorsqu'un éditeur l'ouvre, toutes les modifications en attente seront perdues à la fermeture de cet éditeur. Vérifiez si le document que vous ouvrez dans un éditeur est réservé.

4.15 Guillemets manquantes pour les paramètres nationaux non anglais des identificateurs d'objets

Le chargeur de catalogues JDBC ne parvient pas à déterminer si un identificateur d'objet de schéma doit être délimité pour les paramètres nationaux correspondant à une autre langue qu'à l'anglais. Pour les identificateurs qui doivent être délimités, ouvrez l'éditeur de schéma/table après l'importation pour renommer l'objet de schéma. Pour déterminer le moment où un identificateur doit être délimité, reportez-vous à la documentation de votre serveur de base de données.

4.16 4.16 Connexion à un serveur DB2

Pour les autres serveurs DB2, reportez-vous à l'aide en ligne relative à la sélection de pilotes JDBC lors des connexions à la base de données.

4.17 Retrait des procédures mémorisées Java de DB2 version 8 non pris en charge lors de l'utilisation d'un client DB2 version 7

Si vous utilisez DB2 Universal Database Version 7 sur votre poste de travail client et que vous vous connectez à DB2 Universal Database Version 8 sur le serveur, vous ne pourrez pas retirer les procédures mémorisées Java du serveur DB2 Version 8.

4.18 Modification manuelle des types de données SQL renvoyés pour les fonctions UDF des tables DB2

Lorsque vous utilisez l'assistant Nouvelle fonction utilisateur SQL pour créer une fonction UDF de table DB2, ce dernier recommande les types de données SQL comme données à renvoyer pour chaque colonne.

Si l'assistant ne parvient pas à mapper un type de données correspondant pour une colonne ou si vous voulez utiliser un autre type de données à renvoyer pour une colonne, ouvrez la fonction UDF générée dans l'éditeur et modifiez le type de données manuellement.

4.19 4.19 Incidents liés à Sequelink 5.1 fourni avec WebSphere Studio

WebSphere Studio inclut une version WebSphere du client JDBC Sequelink 5.1 disponible dans le répertoire répertoire_installation_WS/runtimes/aes_v4/lib/sljc.jar. Les outils de bases de données relationnelles WebSphere WebSphere ne peuvent pas utiliser la version de ce client pour la connexion JDBC. Le message d'erreur suivant risque de s'afficher :

IWAS0126E IWAS0120E Incidents survenus lors de la tentative d'établissement de la connexion nom_connexion Cause : La connexion n'a pas été établie car le fichier jar sélectionné n'est pas un client DataDirect personnalisé. Vérifiez que le fichier jar sélectionné provient d'une installation WebSphere.

lorsque ce fichier JAR est spécifié dans la zone indiquant l'emplacement des classes JDBC dans l'assistant de connexion. Une version du client que les outils de bases de données relationnelles peuvent utiliser est disponible auprès du service d'assistance IBM.

4.20 Pilote de DataDirect Sequelink 5.3

WebSphere Studio version 5.x inclut une nouvelle version du client JDBC DataDirect Sequelink. Le client JDBC DataDirect Sequelink 5.3 est disponible dans l'archive répertoire_installation_WS/runtimes/base_v5/lib/sljc.jar. Pour établir une connexion à une base de données à l'aide du pilote JDBC Sequelink 5.1, reportez-vous à la documentation relative aux outils des bases de données relationnelles.

4.21 Incidents lors de l'extraction de tables de Microsoft SQL Server

4.22 4.22 Incidents lors de la connexion à Cloudscape 5.1

Si plusieurs actions de connexion et de déconnexion sont effectuées avec Cloudscape 5.1, il est possible que des tables sans colonnes apparaissent dans la sous-fenêtre Serveurs de base de données. Dans ce cas, relancez WebSphere Studio.

4.23 4.23 Message d'erreur lorsque vous déplacez, renommez ou supprimez un fichier JAR JDBC

Les fichiers JAR JDBC, tels que les fichiers JAR indiqués dans la zone Emplacement des classes de l'assistant de connexion, sont verrouillés dans la session JVM en cours à l'issue de l'établissement de la première connexion. Si vous tentez de renommer, déplacer ou supprimer les fichiers JAR, le message d'erreur s'affiche pour indiquer que le processus ne peut pas accéder au fichier car celui-ci est utilisé par un autre processus. Le fichier est déverrouillé lors de la fermeture du plan de travail.

4.24 Noeuds de schéma en double lors de l'importation, la suppression ou la nouvelle importation de fichiers JAR d'EJB

Si vous importez, supprimez et réimportez des fichiers JAR EJB (exemples ou autres) lorsque la perspective Données ou J2EE est ouverte, il est possible que des noeuds de schémas apparaissent en double sous la base de données backend de ce fichier JAR EJB. Ces entrées n'ont pas d'incidence sur le fonctionnement du programme mais il est recommandé de fermer, puis de rouvrir la perspective pour supprimer les entrées en double.

4.25 Messages d'erreur en arabe corrompus lors d'exportation de données relationnelles

Lors de l'exportation de données relationnelles vers une base de données UTF-8 UDB DB2 V7 en utilisant l'environnement local arabe, vous pouvez obtenir en cas d'erreurs des messages d'erreur corrompus. Il n'existe pas de solution pour cette situation.

Retour au fichier Readme principal