AWS Schema Conversion Tool Guide de l'utilisateur Version 1.0 AWS Schema Conversion Tool Guide de l'utilisateur AWS Schema Conversion Tool: Guide de l'utilisateur Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. AWS Schema Conversion Tool Guide de l'utilisateur Table of Contents Qu'est-ce qu'AWS Schema Conversion Tool ? ........................................................................................ 1 Conversion d'un schéma ............................................................................................................. 2 Fonctionnalités supplémentaires .................................................................................................... 2 La fenêtre de projet .................................................................................................................... 3 Commentaire ............................................................................................................................. 3 Rubriques connexes ................................................................................................................... 4 Installation et mise à jour ..................................................................................................................... 5 Installation d'AWS Schema Conversion Tool ................................................................................... 5 Installation des pilotes de base de données requis .......................................................................... 6 Installation des pilotes JDBC sur Linux .................................................................................. 7 Stockage des chemins d'accès aux pilotes dans les paramètres globaux ..................................... 8 Mise à jour d'AWS Schema Conversion Tool .................................................................................. 8 Rubriques connexes ................................................................................................................... 8 Mise en route .................................................................................................................................... 9 Avant de commencer .................................................................................................................. 9 Création d'un projet ................................................................................................................... 10 Connexion à la base de données source ...................................................................................... 11 Connexion à votre base de données cible .................................................................................... 11 Conversion d'un schéma ............................................................................................................ 12 Privilèges de base de données requis .......................................................................................... 13 Privilèges pour bases de données source ............................................................................. 13 Privilèges pour bases de données cible ............................................................................... 15 Rubriques connexes .......................................................................................................... 23 Mise en route de la conversion de schémas de base de données ..................................................... 24 Avant de commencer ........................................................................................................ 24 Conversion d'un schéma .................................................................................................... 24 Rapport d'évaluation de migration de base de données .......................................................... 25 Application du schéma converti à l'instance DB cible .............................................................. 26 Rubriques connexes .......................................................................................................... 26 Mise en route de la conversion de schémas d'entrepôt de données .................................................. 27 Avant de commencer ........................................................................................................ 27 Choix des règles et des stratégies d'optimisation ................................................................... 27 Collecte ou téléchargement des statistiques .......................................................................... 28 Conversion d'un schéma .................................................................................................... 28 Gestion et personnalisation des clés .................................................................................... 29 Rapport d'évaluation de migration de base de données .......................................................... 29 Application du schéma converti à la base de données cible ..................................................... 30 Rubriques connexes .......................................................................................................... 30 Connexion à la base de données source .............................................................................................. 31 Connexion à une base de données source Amazon Redshift ........................................................... 31 Rubriques connexes .......................................................................................................... 33 Connexion à une base de données source Greenplum ................................................................... 33 Rubriques connexes .......................................................................................................... 34 Connexion à une base de données source Microsoft SQL Server ..................................................... 34 Rubriques connexes .......................................................................................................... 35 Connexion à une base de données source MySQL ........................................................................ 35 Rubriques connexes .......................................................................................................... 37 Connexion à une base de données source Netezza ....................................................................... 37 Rubriques connexes .......................................................................................................... 38 Connexion à une base de données source Oracle ......................................................................... 38 Rubriques connexes .......................................................................................................... 40 Connexion à une base de données source d'entrepôt de données Oracle .......................................... 40 Rubriques connexes .......................................................................................................... 42 Connexion à une base de données source PostgreSQL .................................................................. 42 Version 1.0 iii AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes .......................................................................................................... Connexion à une base de données source Teradata ...................................................................... Rubriques connexes .......................................................................................................... Utilisation de bases de données ......................................................................................................... Conversion de schémas de base de données ............................................................................... Création de règles de mappage .......................................................................................... Conversion d'un schéma .................................................................................................... Création et utilisation du rapport d'évaluation ........................................................................ Gestion des conversions manuelles ..................................................................................... Mise à jour et actualisation de votre schéma converti ............................................................. Enregistrement et application de votre schéma ...................................................................... Kit d'extension et services AWS pour bases de données ................................................................ Utilisation de services AWS pour émuler les fonctions de base de données ................................ Avant de commencer ........................................................................................................ Application du kit d'extension .............................................................................................. Utilisation d'entrepôts de données ....................................................................................................... Conversion du schéma d'entrepôt de données .............................................................................. Choix des règles et des stratégies d'optimisation ................................................................... Collecte ou téléchargement des statistiques .......................................................................... Création de règles de mappage .......................................................................................... Conversion d'un schéma .................................................................................................... Gestion et personnalisation des clés .................................................................................... Création et utilisation du rapport d'évaluation ........................................................................ Gestion des conversions manuelles ..................................................................................... Mise à jour et actualisation de votre schéma converti ............................................................. Enregistrement et application de votre schéma ...................................................................... Kit d'extension et bibliothèques Python pour entrepôts de données ................................................... Utilisation de services AWS pour télécharger des bibliothèques Python personnalisées ................ Avant de commencer ........................................................................................................ Application du kit d'extension .............................................................................................. Rubriques connexes .......................................................................................................... Utilisation des agents de migration de données ............................................................................. Installation des agents ....................................................................................................... Gestion des agents ........................................................................................................... Sortie d'agent ................................................................................................................... Etapes suivantes .............................................................................................................. Bonnes pratiques et dépannage .......................................................................................... Optimisation d'Amazon Redshift .................................................................................................. Avant de commencer ........................................................................................................ Optimisation de la base de données Amazon Redshift ............................................................ Rubriques connexes .......................................................................................................... Utilisation d'AWS DMS ...................................................................................................................... Avant de commencer ................................................................................................................ Informations d'identification ......................................................................................................... Création d'une tâche ................................................................................................................. Exécution et surveillance d'une tâche .......................................................................................... Rubriques connexes .................................................................................................................. Conversion d'Application SQL ............................................................................................................. Avant de commencer ................................................................................................................ Présentation de la conversion de code SQL d'application ................................................................ Création de projets de conversion d'applications ............................................................................ Analyse et conversion de votre code SQL .................................................................................... Création et utilisation du rapport d'évaluation ................................................................................ Création d'un rapport d'évaluation d'application ...................................................................... Modification et enregistrement de votre code SQL converti .............................................................. Stockage de profils AWS ................................................................................................................... Stockage d'informations d'identification AWS ................................................................................. Version 1.0 iv 43 43 44 45 46 47 49 50 52 53 53 55 55 55 56 57 58 60 61 61 63 64 65 66 67 67 69 69 69 69 70 71 71 74 75 75 75 77 77 77 78 79 79 79 80 80 81 82 82 83 83 84 85 85 85 87 87 AWS Schema Conversion Tool Guide de l'utilisateur Définition du profil par défaut pour un projet ................................................................................. 88 Rubriques connexes .................................................................................................................. 88 Bonnes pratiques .............................................................................................................................. 89 Options générales de gestion et de performances de mémoire ......................................................... 89 Configuration de mémoire supplémentaire .................................................................................... 89 Rubriques connexes .................................................................................................................. 90 Dépannage ...................................................................................................................................... 91 Je ne peux pas charger d'objets à partir d'une base de données source Oracle .................................. 91 Rubriques connexes .................................................................................................................. 92 Raccourcis clavier ............................................................................................................................. 93 Rubriques connexes .................................................................................................................. 93 Référence ........................................................................................................................................ 94 Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL .................................... 94 Instructions ...................................................................................................................... 95 Procédures ...................................................................................................................... 98 Contrôle de flux ................................................................................................................ 99 Fonctions ......................................................................................................................... 99 Opérateurs ..................................................................................................................... 107 Transactions ................................................................................................................... 109 Types de données .......................................................................................................... 110 Langage de définition de données (DDL) ............................................................................ 112 Curseurs ........................................................................................................................ 113 Rubriques connexes ........................................................................................................ 114 Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL ............................ 114 Langage de définition de données (DDL) ............................................................................ 115 Langage de manipulation de données (DML) ....................................................................... 117 Types de données .......................................................................................................... 122 Messagerie de base de données ....................................................................................... 124 Fonctions ....................................................................................................................... 125 Opérateurs ..................................................................................................................... 135 Autre ............................................................................................................................. 136 Service Broker ................................................................................................................ 137 SQL Server Agent ............................................................................................................ 139 Sauvegarde SQL Server ................................................................................................... 141 T-SQL ........................................................................................................................... 142 Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL .................................................................................................................... 143 Conversion de schéma prise en charge de MySQL vers PostgreSQL .............................................. 170 DDL .............................................................................................................................. 170 DML .............................................................................................................................. 171 Fonctions ....................................................................................................................... 175 Types de données .......................................................................................................... 183 Informations de référence sur la conversion de MySQL vers PostgreSQL. ................................ 187 Conversion de schéma prise en charge d'Oracle vers MySQL ........................................................ 200 Instructions ..................................................................................................................... 201 Procédures ..................................................................................................................... 206 Contrôle de flux .............................................................................................................. 206 Packages ....................................................................................................................... 206 Fonctions ....................................................................................................................... 207 Opérateurs ..................................................................................................................... 216 Types de données .......................................................................................................... 219 Langage de définition de données (DDL) ............................................................................ 222 Curseurs ........................................................................................................................ 226 Indicateurs ..................................................................................................................... 226 Exceptions ..................................................................................................................... 229 Rubriques connexes ........................................................................................................ 229 Conversion de schéma prise en charge d'Oracle vers PostgreSQL .................................................. 230 Version 1.0 v AWS Schema Conversion Tool Guide de l'utilisateur DDL .............................................................................................................................. DML .............................................................................................................................. PLSQL ........................................................................................................................... Types de données .......................................................................................................... Référence de conversion d'Oracle vers PostgreSQL ............................................................. Conversion de schéma prise en charge de PostgreSQL vers MySQL .............................................. DDL .............................................................................................................................. DML .............................................................................................................................. PL/pgSQL ...................................................................................................................... Informations de référence sur la conversion de PostgreSQL vers MySQL ................................. Rubriques connexes ................................................................................................................ Historique du document ................................................................................................................... Version 1.0 vi 230 233 253 258 260 289 290 291 300 307 342 343 AWS Schema Conversion Tool Guide de l'utilisateur Qu'est-ce qu'AWS Schema Conversion Tool ? Vous pouvez utiliser AWS Schema Conversion Tool pour convertir votre schéma de base de données existante d'un moteur de base de données en un autre. Vous pouvez convertir le schéma OLTP relationnel ou le schéma d'entrepôt de données. Votre schéma converti convient pour une instance DB MySQL (Amazon RDS) Amazon Relational Database Service, un cluster de base de données Amazon Aurora, une instance DB PostgreSQL Amazon RDS ou un cluster Amazon Redshift. AWS Schema Conversion Tool prend en charge les conversions OLTP suivantes. Base de données source Base de données cible sur Amazon RDS Microsoft SQL Server (version 2008 ou ultérieure) Amazon Aurora (MySQL ou PostgreSQL), Microsoft SQL Server, MySQL, PostgreSQL MySQL (version 5.6 ou ultérieure) Amazon Aurora (PostgreSQL), MySQL, PostgreSQL Oracle (version 10.2 ou ultérieure) Amazon Aurora (MySQL ou PostgreSQL), MySQL, Oracle, PostgreSQL PostgreSQL (version 9.1 ou ultérieure) Amazon Aurora (MySQL), MySQL, PostgreSQL Note Vous pouvez migrer le schéma et les données de MySQL vers un cluster de base de données Amazon Aurora (MySQL) sans utiliser AWS Schema Conversion Tool. Pour plus d'informations, consultez la rubrique Migrating Data to an Amazon Aurora DB Cluster. AWS Schema Conversion Tool prend en charge les conversions d'entrepôt de données suivantes. Base de données source Base de données cible sur Amazon Redshift Base de données Greenplum (version 4.3 ou ultérieure) Amazon Redshift Netezza (version 7.2 ou ultérieure) Amazon Redshift Oracle (version 11 ou ultérieure) Amazon Redshift Version 1.0 1 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma Base de données source Base de données cible sur Amazon Redshift Teradata (version 15 ou ultérieure) Amazon Redshift Conversion d'un schéma AWS Schema Conversion Tool propose une interface utilisateur basée sur un projet pour convertir automatiquement le schéma de base de données de votre base de données source en un format compatible avec votre instance Amazon RDS cible. Si le schéma de votre base de données source ne peut pas être converti automatiquement, AWS Schema Conversion Tool fournit une aide sur la façon dont vous pouvez créer le schéma équivalent dans votre base de données Amazon RDS cible. Pour plus d'informations sur la façon d'installer AWS Schema Conversion Tool, consultez Installation et mise à jour d'AWS Schema Conversion Tool (p. 5). Pour commencer à utiliser AWS Schema Conversion Tool, et créer votre premier projet, consultez Mise en route avec AWS Schema Conversion Tool (p. 9). Pour commencer à convertir vos schémas, consultez Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46) ou Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58). Fonctionnalités supplémentaires d'AWS Schema Conversion Tool En plus de convertir votre schéma de base de données existant d'un moteur de base de données à un autre, AWS Schema Conversion Tool offre des fonctions supplémentaires qui vous permettent de déplacer vos données et vos applications dans le cloud: • Vous pouvez utiliser des agents de migration de données pour extraire des données de votre entrepôt de données en vue de les préparer afin de les migrer vers Amazon Redshift. Pour gérer les agents de migration de données, vous pouvez utiliser AWS Schema Conversion Tool. Pour plus d'informations, consultez Utilisation des agents de migration de données (p. 71). • Vous pouvez utiliser AWS Schema Conversion Tool pour créer des points de terminaison et des tâches AWS DMS. Vous pouvez exécuter et surveiller ces tâches à partir d'AWS Schema Conversion Tool. Pour plus d'informations, consultez Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 79). • Dans certains cas, les fonctionnalités de base de données ne peuvent pas être converties en fonctionnalités Amazon RDS ou Amazon Redshift équivalentes. L'assistant du kit d'extension AWS Schema Conversion Tool peut vous aider à installer des fonctions AWS Lambda et des bibliothèques Python pour émuler les fonctionnalités qui ne peuvent pas être converties. Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 55) et Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69). • Vous pouvez utiliser AWS Schema Conversion Tool pour optimiser votre base de données Amazon Redshift existante. AWS Schema Conversion Tool recommande d'utiliser des clés de tri et de distribution pour optimiser votre base de données. Pour plus d'informations, consultez Optimisation d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool (p. 77). Version 1.0 2 AWS Schema Conversion Tool Guide de l'utilisateur La fenêtre de projet • Vous pouvez utiliser AWS Schema Conversion Tool pour copier votre schéma de base de données sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur. Cette fonction vous permet d'analyser les économies de coûts potentielles en cas de déplacement vers le cloud et de changement de votre type de licence. • Vous pouvez utiliser AWS Schema Conversion Tool pour convertir le code SQL dans le code de votre application C++, C#, Java ou autre. Vous pouvez afficher, analyser, modifier et enregistrer le code SQL converti. Pour plus d'informations, consultez Conversion d'Application SQL en utilisant AWS Schema Conversion Tool (p. 82). La fenêtre de projet L'illustration suivante représente ce que vous voyez dans AWS Schema Conversion Tool lorsque vous créez un projet de migration de schéma et convertissez ensuite un schéma. 1. Dans le volet gauche, le schéma de votre base de données source est présenté dans une arborescence. Votre schéma de base de données est « avec chargement différé ». En d'autres termes, lorsque vous sélectionnez un élément de l'arborescence, AWS Schema Conversion Tool obtient et affiche le schéma actuel de votre base de données source. 2. Dans le volet du milieu de la partie supérieure, les éléments de l'action apparaissent pour les éléments de schéma du moteur de base de données source qui n'a pas pu être converti automatiquement en moteur de base de données cible. 3. Dans le panneau droit, le schéma de votre instance DB cible est présenté dans une arborescence. Votre schéma de base de données est « avec chargement différé ». Autrement dit, au moment où vous sélectionnez un élément dans l'arborescence, AWS Schema Conversion Tool obtient et affiche le schéma actuel de votre base de données cible. 4. Dans le volet inférieur gauche, lorsque vous choisissez un élément de schéma, les propriétés décrivant l'élément de schéma source et la commande SQL pour créer cet élément dans la base de données source sont affichées. 5. Dans le volet inférieur droit, lorsque vous choisissez un élément de schéma, les propriétés décrivant l'élément de schéma cible et la commande SQL pour créer cet élément dans la base de données cible sont affichées. Vous pouvez modifier cette commande SQL et enregistrer la commande mise à jour avec votre projet. Fournir des commentaires client Vous pouvez fournir des commentaires sur AWS Schema Conversion Tool. Vous pouvez générer un rapport de bogue, soumettre une demande de fonctionnalité ou fournir des informations générales. Pour fournir des commentaires sur AWS Schema Conversion Tool 1. Démarrer AWS Schema Conversion Tool. 2. Ouvrez le menu Help, puis choisissez Leave Feedback. La boîte de dialogue Leave Feedback s'affiche. Version 1.0 3 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 3. Dans Area, choisissez Information, Bug report ou Feature request. 4. 6. 7. Dans Source database, choisissez votre base de données source. Choisissez Any si vos commentaires ne concernent pas une base de données spécifique. Dans Target database, choisissez votre base de données cible. Choisissez Any si vos commentaires ne concernent pas une base de données spécifique. Dans Title, tapez un titre pour vos commentaires. Dans Message, tapez vos commentaires. 8. Choisissez Send pour soumettre vos commentaires. 5. Rubriques connexes • Utilisation de bases de données (p. 45) • Utilisation d'entrepôts de données (p. 57) • Bonnes pratiques pour AWS Schema Conversion Tool (p. 89) Version 1.0 4 AWS Schema Conversion Tool Guide de l'utilisateur Installation d'AWS Schema Conversion Tool Installation et mise à jour d'AWS Schema Conversion Tool AWS Schema Conversion Tool est une application autonome qui propose une interface utilisateur basée sur un projet. AWS Schema Conversion Tool est disponible pour Microsoft Windows, Mac OS X, Ubuntu Linux version 15.04 et Fedora Linux. AWS Schema Conversion Tool est pris en charge uniquement sur les systèmes d'exploitation 64 bits. AWS Schema Conversion Tool installe également Java Runtime Environment (JRE) version 8u45. Installation d'AWS Schema Conversion Tool Pour installer AWS Schema Conversion Tool 1. Téléchargez le fichier zip qui contient le programme d'installation AWS Schema Conversion Tool en choisissant le lien correspondant à votre système d'exploitation, que vous trouverez ci-dessous : • Téléchargement Microsoft Windows • Téléchargement Mac OS X • Téléchargement Ubuntu Linux version 15.04 • Téléchargement Fedora Linux 2. 3. Extrayez le fichier du programme d'installation AWS Schema Conversion Tool correspondant à votre système d'exploitation, que vous trouverez ci-dessous. Système d'exploitation Nom de fichier Microsoft Windows AWS Schema Conversion Tool-1.0.build-number.msi Mac OS X AWS Schema Conversion Tool-1.0.build-number.dmg Ubuntu Linux aws-schema-conversion-tool-1.0.build-number.deb Fedora Linux aws-schema-conversion-tool-1.0.build-number.x86_64.rpm Exécutez le fichier du programme d'installation AWS Schema Conversion Tool extrait à l'étape précédente. Suivez les instructions ci-dessous correspondant à votre système d'exploitation. Version 1.0 5 AWS Schema Conversion Tool Guide de l'utilisateur Installation des pilotes de base de données requis Système d'exploitation Instructions d'installation Microsoft Windows Double-cliquez sur le fichier pour exécuter le programme d'installation. Mac OS X Dans le Finder, ouvrez AWS Schema Conversion Tool-1.0.buildnumber.dmg. Faites glisser AWS Schema Conversion Tool-1.0.build-number.dmg vers le dossier Applications. Ubuntu Linux Exécutez la commande suivante dans le dossier où vous avez téléchargé le fichier : sudo dpkg -i aws-schema-conversion-tool-1.0.build-number.deb Fedora Linux Exécutez la commande suivante dans le dossier où vous avez téléchargé le fichier : sudo yum install aws-schema-conversion-tool-1.0.buildnumber.x86_64.rpm 4. Installez les pilotes Java Database Connectivity (JDBC) pour vos moteurs de base de données source et cible. Vous trouverez des instructions et des liens de téléchargement à la page Installation des pilotes de base de données requis (p. 6). Installation des pilotes de base de données requis Pour qu'AWS Schema Conversion Tool fonctionne correctement, vous devez installer les pilotes JDBC appropriés pour les moteurs de vos bases de données source et cible. En cas de doute, installez la dernière version disponible pour les pilotes. Après avoir téléchargé les pilotes, indiquez à AWS Schema Conversion Tool l'emplacement des fichiers de pilote. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). Vous pouvez télécharger les pilotes de base de données à partir des emplacements suivants. Moteur de base Pilotes de données Emplacement de téléchargement Amazon Aurora mysql-connector-java-5.1.6.jar (compatible MySQL) https://www.mysql.com/products/connector/ Amazon Aurora postgresql-9.4-1204-jdbc42.jar (compatible PostgreSQL) https://jdbc.postgresql.org/download.html Amazon Redshift RedshiftJDBC41-1.1.10.1010.jar http://docs.aws.amazon.com/redshift/latest/mgmt/ configure-jdbc-connection.html Greenplum Database postgresql-9.4-1204-jdbc42.jar https://jdbc.postgresql.org/ Microsoft SQL Server sqljdbc4.jar https://www.microsoft.com/en-us/download/ details.aspx?displaylang=en&id=11774 MySQL mysql-connector-java-5.1.6.jar https://www.mysql.com/products/connector/ Version 1.0 6 AWS Schema Conversion Tool Guide de l'utilisateur Installation des pilotes JDBC sur Linux Moteur de base Pilotes de données Emplacement de téléchargement Netezza http://www.ibm.com/support/knowledgecenter/ SSULQD_7.2.1/com.ibm.nz.datacon.doc/ c_datacon_plg_overview.html nzjdbc.jar Utiliser les logiciels d'outils clients. Oracle ojdbc7.jar Les versions 7 et ultérieures du pilote sont prises en charge. http://www.oracle.com/technetwork/ database/features/jdbc/jdbc-drivers-12cdownload-1958347.html PostgreSQL postgresql-9.4-1204-jdbc42.jar https://jdbc.postgresql.org/download.html Teradata terajdbc4.jar https://downloads.teradata.com/download/ connectivity/jdbc-driver tdgssconfig.jar Installation des pilotes JDBC sur Linux Vous pouvez exécuter les étapes suivantes pour installer les pilotes JDBC sur votre système Linux en vue d'utiliser AWS Schema Conversion Tool. Pour installer les pilotes JDBC sur votre système Linux 1. Créez un répertoire pour y stocker les pilotes JDBC. PROMPT>sudo mkdir –p /usr/local/jdbc-drivers 2. Installez le pilote JDBC pour votre moteur de base de données à l'aide des commandes indiquées cidessous. Moteur de base de données Amazon Aurora (compatible MySQL) Amazon Aurora (compatible PostgreSQL) Microsoft SQL Server MySQL Oracle Commandes d'installation PROMPT> cd /usr/local/jdbc-drivers PROMPT> sudo tar xzvf /tmp/mysql-connector-java-X.X.X.tar.gz PROMPT> cd /usr/local/jdbc-drivers PROMPT> sudo cp -a /tmp/postgresql-X.X.X.jre7.tar . PROMPT> cd /usr/local/jdbc-drivers PROMPT> sudo tar xzvf /tmp/sqljdbc_X.X.X_enu.tar.gz PROMPT> cd /usr/local/jdbc-drivers PROMPT> sudo tar xzvf /tmp/mysql-connector-java-X.X.X.tar.gz PROMPT> PROMPT> PROMPT> PROMPT> cd /usr/local/jdbc-drivers sudo mkdir oracle-jdbc cd oracle-jdbc sudo cp -a /tmp/ojdbc7.jar . Version 1.0 7 AWS Schema Conversion Tool Guide de l'utilisateur Stockage des chemins d'accès aux pilotes dans les paramètres globaux Moteur de base de données PostgreSQL Commandes d'installation PROMPT> cd /usr/local/jdbc-drivers PROMPT> sudo cp -a /tmp/postgresql-X.X.X.jre7.tar . Stockage des chemins d'accès aux pilotes dans les paramètres globaux Après avoir téléchargé et installé les pilotes JDBC requis, vous pouvez définir l'emplacement des pilotes de façon globale dans les paramètres d'AWS Schema Conversion Tool. Si vous ne définissez pas l'emplacement des pilotes de façon globale, l'application vous demandera l'emplacement des pilotes lorsque vous vous connecterez à une base de données. Pour mettre à jour l'emplacement des fichiers de pilote 1. Dans AWS Schema Conversion Tool, choisissez Settings, puis Global Settings. 2. Dans Global settings, choisissez Drivers. Ajoutez le chemin de fichier du pilote JDBC pour votre moteur de base de données source et votre moteur de base de données d'instance DB RDS. Note Pour Teradata, vous spécifiez 2 pilotes, en les séparant par un point virgule. 3. Lorsque vous avez ajouté les chemins d'accès, cliquez sur OK. Mise à jour d'AWS Schema Conversion Tool Pour vérifier si une nouvelle version d'AWS Schema Conversion Tool est disponible, choisissez Help, puis Check for Updates. Si une version plus récente d'AWS Schema Conversion Tool est disponible, vous êtes invité à télécharger et installer cette version. Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) Version 1.0 8 AWS Schema Conversion Tool Guide de l'utilisateur Avant de commencer Mise en route avec AWS Schema Conversion Tool Ci-dessous, vous pouvez trouver des procédures qui vous aident à commencer à utiliser AWS Schema Conversion Tool. AWS Schema Conversion Tool fournit une interface utilisateur basée sur le projet. Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Avant de commencer Avant d'exécuter les procédures fournies dans cette rubrique, vous devez commencer par effectuer les opérations suivantes : • Installez AWS Schema Conversion Tool. Pour plus d'informations, consultez Installation et mise à jour d'AWS Schema Conversion Tool (p. 5). • Créez votre instance DB Amazon Relational Database Service (Amazon RDS) ou base de données Amazon Redshift cible, si elle n'existe pas déjà. Pour plus d'informations, consultez la documentation suivante. Moteur de base de données Documentation Amazon Aurora Création d'un cluster DB Amazon Aurora Connexion à un cluster DB Amazon Aurora Version 1.0 9 AWS Schema Conversion Tool Guide de l'utilisateur Création d'un projet Moteur de base de données Documentation Amazon Redshift Mise en route avec Amazon Redshift Microsoft SQL Server Création d'une instance de base de données exécutant le moteur de base de données Microsoft SQL Server Connexion à une instance DB exécutant le moteur de base de données Microsoft SQL Server MySQL Création d'une instance DB exécutant le moteur de base de données MySQL Connexion à une instance DB exécutant le moteur de base de données MySQL Oracle Création d'une instance DB exécutant le moteur de base de données Oracle Connexion à une instance de base de données exécutant le moteur de base de données Oracle PostgreSQL Création d'une instance DB exécutant le moteur de base de données PostgreSQL Connexion à une instance DB exécutant le moteur de base de données PostgreSQL • Vérifiez que vous disposez des privilèges appropriés pour les bases de données source et cible pour pouvoir exécuter AWS Schema Conversion Tool. Pour plus d'informations, consultez Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13). Création d'un projet AWS Schema Conversion Tool La procédure suivante vous montre comment créer un projet AWS Schema Conversion Tool. Pour créer votre projet 1. Démarrer AWS Schema Conversion Tool. 2. Choisissez New Project dans le menu File. La boîte de dialogue New Project s'affiche. 3. Ajoutez les informations préliminaires suivantes sur le projet. Pour ce paramètre Procédez comme suit Project Name Saisissez un nom pour votre projet, qui est stocké localement sur votre ordinateur. Emplacement Saisissez l'emplacement de votre fichier de projet local. Choisissez Transactional Database (OLTP) ou Data Warehouse (OLAP). Moteur DB source (OLTP) Choisissez Microsoft SQL Server, MySQL, Oracle ou PostgreSQL. (OLAP) Choisissez Amazon Redshift, Greenplum, Netezza, Oracle DW ou Teradata. Version 1.0 10 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à la base de données source Pour ce paramètre Procédez comme suit Moteur DB cible (OLTP) Choisissez Amazon Aurora (compatible MySQL), Amazon Aurora (compatible PostgreSQL), Amazon RDS for Microsoft SQL Server, Amazon RDS pour MySQL, Amazon RDS pour Oracle ou Amazon RDS pour PostgreSQL. (OLAP) Choisissez Amazon Redshift. 4. Choisissez OK pour créer votre projet AWS Schema Conversion Tool. Connexion à la base de données source Les rubriques suivantes vous montrent comment vous connecter à votre base de données source. Choisissez la rubrique correspondant à votre base de données source. • Connexion à une base de données source Amazon Redshift (p. 31) • Connexion à une base de données source Greenplum (p. 33) • Connexion à une base de données source Microsoft SQL Server (p. 34) • Connexion à une base de données source MySQL (p. 35) • Connexion à une base de données source Netezza (p. 37) • Connexion à une base de données source Oracle (p. 38) • Connexion à une base de données source d'entrepôt de données Oracle (p. 40) • Connexion à une base de données source PostgreSQL (p. 42) • Connexion à une base de données source Teradata (p. 43) Connexion à votre base de données cible La procédure suivante vous montre comment vous connecter à votre base de données cible. Pour vous connecter à votre base de données cible 1. Démarrer AWS Schema Conversion Tool. 2. Choisissez Connect to target, où target indique le moteur de base de données pour votre instance DB cible. 3. Ajoutez les informations suivantes pour vous connecter à votre instance DB RDS cible. Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS de votre instance DB cible. Server port Tapez le port utilisé pour se connecter à votre instance DB cible. User name et Password Tapez le nom d'utilisateur et mot de passe pour vous connecter à votre instance DB cible. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données cible uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to target dans un projet, où target correspond à votre Version 1.0 11 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma Pour ce paramètre Procédez comme suit base de données cible. Pour éviter d'exposer le mot de passe de votre base de données cible, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à saisir le mot de passe pour vous connecter à la base de données cible, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez des informations supplémentaires, le cas échéant, sous l'onglet SSL. 4. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données cible. 5. Choisissez OK pour vous connecter à votre instance DB cible. Conversion d'un schéma Une fois que vous démarrez en utilisant les procédures décrites dans cette rubrique, vous pouvez continuer à travailler avec AWS Schema Conversion Tool avec des entrepôts de bases de données et des données transactionnelles dans les rubriques suivantes : • Mise en route de la conversion de schémas de base de données avec AWS Schema Conversion Tool (p. 24) • Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion Tool (p. 27) Version 1.0 12 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges de base de données requis Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool Lorsque vous utilisez AWS Schema Conversion Tool pour convertir votre schéma de base de données, vous devez disposer de certains privilèges pour les bases de données source et cible. Ces privilèges sont répertoriés ci-après. Privilèges pour bases de données source Les privilèges dont vous avez besoin pour la base de données source sont répertoriés dans le tableau suivant. Base de données source Privilèges requis Remarques Amazon Redshift • USAGE ON SCHEMA — <nom_schéma> • SELECT ON ALL TABLES IN SCHEMA <nom_schéma> • SELECT ON PG_CATALOG.PG_STATISTIC • SELECT ON SVV_TABLE_INFO • SELECT ON TABLE STV_BLOCKLIST • SELECT ON TABLE STV_TBL_PERM Greenplum • CONNECT ON DATABASE — <nom_base_de_données> • USAGE ON SCHEMA <nom_schéma> Microsoft SQL Server • VIEW DEFINITION Répétez l'octroi pour chaque base de données dont vous convertissez le schéma. • VIEW DATABASE STATE MySQL • SELECT ON *.* — • SELECT ON mysql.proc • SHOW VIEW ON *.* Version 1.0 13 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données source Base de données source Privilèges requis Remarques Netezza • SELECT ON — SYSTEM.DEFINITION_SCHEMA.SYSTEM VIEW • SELECT ON SYSTEM.DEFINITION_SCHEMA.SYSTEM TABLE • SELECT ON SYSTEM.DEFINITION_SCHEMA.MANAGEMENT TABLE • LIST ON <nom_base_de_données> • LIST ON <nom_base_de_données>.ALL.TABLE • LIST ON <nom_base_de_données>.ALL.EXTERNAL TABLE • LIST ON <nom_base_de_données>.ALL.VIEW • LIST ON <nom_base_de_données>.ALL.MATERIALIZED VIEW • LIST ON <nom_base_de_données>.ALL.PROCEDURE • LIST ON <nom_base_de_données>.ALL.SEQUENCE • LIST ON <nom_base_de_données>.ALL.FUNCTION • LIST ON <nom_base_de_données>.ALL.AGGREGATE Oracle • connect — • select_catalog_role • select any dictionary Oracle Data Warehouse • connect — • select_catalog_role • select any dictionary Version 1.0 14 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données source Privilèges requis Remarques PostgreSQL • CONNECT ON DATABASE — <nom_base_de_données> • USAGE ON SCHEMA <nom_base_de_données> • SELECT ON ALL TABLES IN SCHEMA <nom_base_de_données> • SELECT ON ALL SEQUENCES IN SCHEMA <nom_base_de_données> Teradata • SELECT ON DBC — Privilèges pour bases de données cible Les privilèges dont vous avez besoin pour la base de données cible sont répertoriés dans le tableau suivant. Base de données cible Privilèges requis Remarques Amazon Aurora avec compatibilité MySQL • CREATE ON *.* S'il s'agit d'une base de données source Microsoft SQL Server, accordez également le privilège INSERT,UPDATE ON AWS_SQLSERVER_EXT.* • ALTER ON *.* • DROP ON *.* • INDEX ON *.* • REFERENCES ON *.* • SELECT ON *.* • CREATE VIEW ON *.* • SHOW VIEW ON *.* S'il s'agit d'une base de données source Oracle, accordez également le privilège INSERT,UPDATE ON AWS_ORACLE_EXT.* S'il s'agit d'une base de données source PostgreSQL, accordez également le privilège INSERT,UPDATE ON AWS_POSTGRESQL_EXT.* • TRIGGER ON *.* • CREATE ROUTINE ON *.* • ALTER ROUTINE ON *.* • EXECUTE ON *.* Version 1.0 15 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques • SELECT ON mysql.proc Amazon Aurora avec compatibilité PostgreSQL Si le nouveau schéma n'existe pas encore, accordez le privilège CREATE ON DATABASE Dans PostgreSQL, seul le propriétaire d'un schéma ou un super utilisateur peut supprimer un schéma. Le propriétaire peut supprimer le schéma, ainsi que tous les objets qu'il contient, même s'il n'est pas propriétaire de tous les objets contenus. <nom_base_de_données> Si le nouveau schéma existe déjà, accordez le privilège INSERT ON ALL TABLES IN SCHEMA <nom_schéma> Amazon Redshift • CREATE ON DATABASE Dans Amazon Redshift, seul le propriétaire d'un schéma ou un super utilisateur peut supprimer un schéma. Le propriétaire <nom_base_de_données> peut supprimer le schéma, ainsi que tous les objets qu'il contient, même s'il n'est pas propriétaire de tous les objets • USAGE ON contenus. LANGUAGE plpythonu • SELECT ON ALL TABLES IN SCHEMA pg_catalog Microsoft SQL Server • CREATE SCHEMA — • CREATE TABLE • CREATE VIEW • CREATE TYPE • CREATE DEFAULT • CREATE FUNCTION • CREATE PROCEDURE • CREATE ASSEMBLY • CREATE AGGREGATE • CREATE FULLTEXT CATALOG Version 1.0 16 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques MySQL • CREATE ON *.* S'il s'agit d'une base de données source Microsoft SQL Server, accordez également le privilège INSERT,UPDATE ON AWS_SQLSERVER_EXT.* • ALTER ON *.* • DROP ON *.* • INDEX ON *.* • REFERENCES ON *.* • SELECT ON *.* • CREATE VIEW ON *.* • SHOW VIEW ON *.* S'il s'agit d'une base de données source Oracle, accordez également le privilège INSERT,UPDATE ON AWS_ORACLE_EXT.* S'il s'agit d'une base de données source PostgreSQL, accordez également le privilège INSERT,UPDATE ON AWS_POSTGRESQL_EXT.* • TRIGGER ON *.* • CREATE ROUTINE ON *.* • ALTER ROUTINE ON *.* • EXECUTE ON *.* • SELECT ON mysql.proc Version 1.0 17 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques Oracle • SELECT_CATALOG_ROLE — • RESOURCE • CONNECT • alter user <nom_utilisateur> quota unlimited on USERS; • alter user <nom_utilisateur> quota unlimited on IDX; • alter user <nom_utilisateur> quota unlimited on ARCH; • alter user <nom_utilisateur> quota unlimited on ARCH_IDX; • DROP ANY CUBE BUILD PROCESS • ALTER ANY CUBE • CREATE ANY CUBE DIMENSION • CREATE ANY ASSEMBLY • ALTER ANY RULE • SELECT ANY DICTIONARY • ALTER ANY DIMENSION • CREATE ANY DIMENSION • ALTER ANY TYPE • DROP ANY TRIGGER • CREATE ANY VIEW • ALTER ANY CUBE BUILD PROCESS • CREATE ANY CREDENTIAL Version 1.0 18 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques • DROP ANY CUBE DIMENSION • DROP ANY ASSEMBLY • DROP ANY PROCEDURE • ALTER ANY PROCEDURE • ALTER ANY SQL TRANSLATION PROFILE • DROP ANY MEASURE FOLDER • CREATE ANY MEASURE FOLDER • DROP ANY CUBE • DROP ANY MINING MODEL • CREATE ANY MINING MODEL • DROP ANY EDITION • CREATE ANY EVALUATION CONTEXT • DROP ANY DIMENSION • ALTER ANY INDEXTYPE • DROP ANY TYPE • CREATE ANY PROCEDURE • CREATE ANY SQL TRANSLATION PROFILE • CREATE ANY CUBE • COMMENT ANY MINING MODEL • ALTER ANY MINING MODEL Version 1.0 19 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques • DROP ANY SQL PROFILE • CREATE ANY JOB • DROP ANY EVALUATION CONTEXT • ALTER ANY EVALUATION CONTEXT • CREATE ANY INDEXTYPE • CREATE ANY OPERATOR • CREATE ANY TRIGGER • DROP ANY ROLE • DROP ANY SEQUENCE • DROP ANY CLUSTER • DROP ANY SQL TRANSLATION PROFILE • ALTER ANY ASSEMBLY • CREATE ANY RULE SET • ALTER ANY OUTLINE • UNDER ANY TYPE • CREATE ANY TYPE • DROP ANY MATERIALIZED VIEW • ALTER ANY ROLE • DROP ANY VIEW • ALTER ANY INDEX • COMMENT ANY TABLE • CREATE ANY TABLE • CREATE USER Version 1.0 20 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques • DROP ANY RULE SET • CREATE ANY CONTEXT • DROP ANY INDEXTYPE • ALTER ANY OPERATOR • CREATE ANY MATERIALIZED VIEW • ALTER ANY SEQUENCE • DROP ANY SYNONYM • CREATE ANY SYNONYM • DROP USER • ALTER ANY MEASURE FOLDER • ALTER ANY EDITION • DROP ANY RULE • CREATE ANY RULE • ALTER ANY RULE SET • CREATE ANY OUTLINE • UNDER ANY TABLE • UNDER ANY VIEW • DROP ANY DIRECTORY • ALTER ANY CLUSTER • CREATE ANY CLUSTER • ALTER ANY TABLE • CREATE ANY CUBE BUILD PROCESS • ALTER ANY CUBE DIMENSION Version 1.0 21 AWS Schema Conversion Tool Guide de l'utilisateur Privilèges pour bases de données cible Base de données cible Privilèges requis Remarques • CREATE ANY EDITION • CREATE ANY SQL PROFILE • ALTER ANY SQL PROFILE • DROP ANY OUTLINE • DROP ANY CONTEXT • DROP ANY OPERATOR • DROP ANY LIBRARY • ALTER ANY LIBRARY • CREATE ANY LIBRARY • ALTER ANY MATERIALIZED VIEW • ALTER ANY TRIGGER • CREATE ANY SEQUENCE • DROP ANY INDEX • CREATE ANY INDEX • DROP ANY TABLE PostgreSQL Si le nouveau schéma n'existe pas encore, accordez le privilège CREATE ON DATABASE Dans PostgreSQL, seul le propriétaire d'un schéma ou un super utilisateur peut supprimer un schéma. Le propriétaire peut supprimer le schéma, ainsi que tous les objets qu'il contient, même s'il n'est pas propriétaire de tous les objets contenus. <nom_base_de_données> Si le nouveau schéma existe déjà, accordez le privilège INSERT ON ALL TABLES IN SCHEMA <nom_schéma> Version 1.0 22 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Rubriques connexes • Mise en route avec AWS Schema Conversion Tool (p. 9) Version 1.0 23 AWS Schema Conversion Tool Guide de l'utilisateur Mise en route de la conversion de schémas de base de données Mise en route de la conversion de schémas de base de données avec AWS Schema Conversion Tool Vous trouverez ci-dessous des informations qui vous aideront à convertir votre schéma de base de données de traitement de transaction en ligne (OLTP) d'un moteur de base de données vers un autre. Vous pouvez utiliser le schéma converti avec une instance DB (Amazon Relational Database Service) (Amazon RDS). AWS Schema Conversion Tool prend en charge les conversions de base de données OLTP suivantes. Base de données source Base de données cible sur Amazon RDS Microsoft SQL Server (version 2008 ou ultérieure) Amazon Aurora (MySQL ou PostgreSQL), Microsoft SQL Server, MySQL, PostgreSQL MySQL (version 5.6 ou ultérieure) Amazon Aurora (PostgreSQL), MySQL, PostgreSQL Oracle (version 10.2 ou ultérieure) Amazon Aurora (MySQL ou PostgreSQL), MySQL, Oracle, PostgreSQL PostgreSQL (version 9.1 ou ultérieure) Amazon Aurora (MySQL), MySQL, PostgreSQL Si vous voulez convertir un schéma d'entrepôt de données, consultez Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion Tool (p. 27). Avant de commencer Avant d'exécuter les procédures fournies dans cette rubrique, vous devez commencer par effectuer les opérations suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Mise en route avec AWS Schema Conversion Tool (p. 9). Conversion d'un schéma Utilisez la procédure suivante pour convertir un schéma. Pour convertir un schéma 1. Choisissez View, puis Main View. 2. Dans le volet gauche où figure le schéma de votre base de données source, choisissez l'objet de schéma à convertir. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Convert schema. 3. Une fois la conversion du schéma terminée par AWS Schema Conversion Tool, vous pouvez examiner le schéma proposé dans le panneau situé à droite du projet. A ce stade, aucun schéma n'est appliqué à l'instance DB RDS cible. Le schéma planifié est un composant du projet. Si vous sélectionnez un élément du schéma converti, la commande du schéma planifié s'affiche dans le panneau situé dans la partie centrale inférieure pour l'instance DB RDS cible. Version 1.0 24 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données Vous pouvez modifier le schéma dans cette fenêtre. Le schéma modifié est stocké comme composant de votre projet et est écrit dans l'instance DB cible lorsque vous choisissez d'appliquer le schéma converti. Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 49). Création et examen du rapport d'évaluation de migration de base de données Le rapport d'évaluation de migration de base de données synthétise tous les éléments d'action du schéma qui ne peuvent pas être convertis automatiquement pour le moteur de votre instance DB RDS cible. Le rapport donne également une estimation du temps nécessaire pour écrire le code équivalent pour l'instance DB cible. Vous pouvez à tout moment créer (ou mettre à jour) un rapport d'évaluation de migration de base de données dans votre projet en exécutant la procédure suivante. Pour créer et afficher le rapport d'évaluation de migration de base de données 1. Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de schéma pour lequel vous souhaitez créer un rapport d'évaluation. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report. La vue du rapport d'évaluation s'ouvre. 2. Choisissez l'onglet Action Items. L'onglet Action Items affiche la liste des éléments de description du schéma qui ne peuvent pas être convertis automatiquement. Sélectionnez un des éléments d'action dans la liste. Notez que l'outil AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel s'applique l'élément d'action, comme le montre l'illustration suivante. 3. Choisissez l'onglet Summary. L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de données. Il indique le nombre d'éléments qui ont été convertis automatiquement et le nombre de ceux qui ne l'ont pas été. Ce récapitulatif comprend en outre une estimation du temps que prendra la création d'un schéma dans l'instance DB cible équivalent à celui de la base de données source. La section Evaluation de licence et prise en charge du cloud contient des informations sur le déplacement de votre schéma de base de données sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur. Par exemple, si vous voulez modifier les types de licence, cette section du rapport vous indique quelles fonctions de votre base de données actuelle doivent être supprimées. Un exemple de récapitulatif de rapport d'évaluation est illustré ci-après. 4. Choisissez l'onglet Summary, puis Save to PDF. Le rapport d'évaluation de migration de base de données est enregistré au format PDF. Le fichier PDF contient à la fois le récapitulatif et les informations sur les éléments d'action. Vous pouvez également choisir Save to CSV pour enregistrer le rapport sous forme de fichier CSV (valeurs séparées par des virgules). Le fichier CSV contient uniquement des informations sur l'élément d'action. Version 1.0 25 AWS Schema Conversion Tool Guide de l'utilisateur Application du schéma converti à l'instance DB cible Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50). Application du schéma converti à l'instance DB cible Vous pouvez appliquer le schéma de base de données converti à votre instance DB RDS cible. Une fois que le schéma a été appliqué à l'instance DB cible, vous pouvez le mettre à jour en fonction des éléments d'action figurant dans le rapport d'évaluation de migration de base de données. Caution Cette procédure a pour effet de remplacer le schéma cible existant. Veillez à ne pas remplacer le schéma accidentellement. Faites attention de ne pas remplacer le schéma dans l'instance DB cible que vous avez déjà modifiée, car ces modifications seront remplacées. Pour appliquer le schéma de base de données converti à l'instance DB RDS cible 1. Choisissez l'élément de schéma dans le panneau droit de votre projet, qui présente le schéma planifié de l'instance DB cible. 2. Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to database. Le schéma converti est appliqué à l'instance DB cible. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 53). Rubriques connexes • Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46) Version 1.0 26 AWS Schema Conversion Tool Guide de l'utilisateur Mise en route de la conversion de schémas d'entrepôt de données Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion Tool Vous trouverez ci-dessous des informations qui vous aideront à convertir votre schéma d'entrepôt de données d'un moteur de base de données vers un autre. Vous pouvez utiliser le schéma converti avec un cluster Amazon Redshift. AWS Schema Conversion Tool prend en charge les conversions d'entrepôt de données suivantes. Base de données source Base de données cible sur Amazon Redshift Base de données Greenplum (version 4.3 ou ultérieure) Amazon Redshift Netezza (version 7.2 ou ultérieure) Amazon Redshift Oracle (version 11 ou ultérieure) Amazon Redshift Teradata (version 15 ou ultérieure) Amazon Redshift Si vous souhaitez convertir un schéma de base de données de traitement des transactions en ligne (OLTP), consultez Mise en route de la conversion de schémas de base de données avec AWS Schema Conversion Tool (p. 24). Avant de commencer Avant d'exécuter les procédures fournies dans cette rubrique, vous devez commencer par effectuer les opérations suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Mise en route avec AWS Schema Conversion Tool (p. 9). Choix des règles et des stratégies d'optimisation Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de données, vous pouvez choisir les stratégies et les règles que l'outil va utiliser. Après la conversion de votre schéma et la vérification des clés suggérés, vous pouvez ajuster vos règles ou modifier votre stratégie afin d'obtenir les résultats souhaités. Pour choisir vos stratégies d'optimisation et règles 1. 2. 3. Choisissez Settings, puis Projet Settings. La boîte de dialogue Current project settings s'affiche. Dans le volet gauche, choisissez Optimization Strategies. Les stratégies d'optimisation apparaissent dans le volet droit avec les valeurs par défaut sélectionnées. Pour Strategy Sector, choisissez la stratégie d'optimisation que vous voulez utiliser. Choisissez parmi les éléments suivants : • Use metadata, ignore statistical information – Dans cette stratégie, seules les informations des métadonnées sont utilisées pour les décisions d'optimisation. Par exemple, s'il existe plusieurs Version 1.0 27 AWS Schema Conversion Tool Guide de l'utilisateur Collecte ou téléchargement des statistiques index sur une table source, l'ordre de tri de la base de données source est utilisé, et le premier index devient une clé de distribution. • Ignore metadata, use statistical information – Dans cette stratégie, les décisions d'optimisation s'appuient uniquement sur les informations statistiques. Cette stratégie s'applique uniquement aux tables et aux colonnes pour lesquelles les statistiques sont fournis. Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema Conversion Tool (p. 61). • Use metadata and use statistical information – Dans cette stratégie, à la fois les métadonnées et les statistiques sont utilisées pour les décisions d'optimisation. 4. Une fois que vous choisissez votre stratégie d'optimisation, vous pouvez choisir les règles que vous voulez utiliser. Choisissez parmi les éléments suivants : • Choix de la clé de distribution et des clés de tri en utilisant les métadonnées • Choix de la table des faits et la dimension appropriée pour le classement • Analyse de la cardinalité des colonnes d'index • Recherche des tables et des colonnes les plus utilisées à partir de la table QueryLog Pour chaque règle, vous pouvez entrer une pondération pour la clé de tri et une pondération pour la clé de distribution. AWS Schema Conversion Tool se sert des pondérations que vous définissez au moment de convertir votre schéma. Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 60). Collecte ou téléchargement des statistiques Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de données, vous pouvez fournir les statistiques de votre base de données source que l'outil peut utiliser. Vous pouvez collecter les statistiques directement à partir de la base de données, ou charger un fichier de statistiques existant. Pour fournir et vérifier les statistiques 1. Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion à la base de données source (p. 11). 2. Choisissez un objet de schéma dans le volet gauche de votre projet et ouvrez le menu de contexte (clic droit) pour l'objet. Choisissez Collect Statistics ou Upload Statistics comme le suggère l'illustration ci-dessous. 3. Choisissez un objet de schéma dans le volet gauche de votre projet, puis choisissez l'onglet Statistics. Vous pouvez vérifier les statistiques pour l'objet. Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema Conversion Tool (p. 61). Conversion d'un schéma Utilisez la procédure suivante pour convertir un schéma. Version 1.0 28 AWS Schema Conversion Tool Guide de l'utilisateur Gestion et personnalisation des clés Pour convertir un schéma 1. Choisissez View, puis Main View. 2. Dans le volet gauche où figure le schéma de votre base de données source, choisissez l'objet de schéma à convertir. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Convert schema. 3. Une fois la conversion du schéma terminée par AWS Schema Conversion Tool, vous pouvez examiner le schéma proposé dans le panneau situé à droite du projet. A ce stade, aucun schéma n'est appliqué à la base de données cible. Le schéma planifié est un composant du projet. Si vous sélectionnez un élément du schéma converti, la commande de schéma planifié s'affiche dans le panneau situé dans la partie centrale inférieure pour la base de données cible. Vous pouvez modifier le schéma dans cette fenêtre. Le schéma modifié est stocké comme composant de votre projet et est écrit dans la base de données cible lorsque vous choisissez d'appliquer le schéma converti. Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 63). Gestion et personnalisation des clés Une fois que vous convertissez votre schéma, vous pouvez gérer et modifier vos clés. La gestion des clés est le cœur d'une conversion d'entrepôt de données. Pour gérer les clés, sélectionnez une table de votre base de données cible, puis choisissez l'onglet Key Management illustré ci-dessous. Le volet de gauche contient des suggestions de clés et comprend l'évaluation de confiance pour chaque suggestion. Vous pouvez choisir une des suggestions, ou vous pouvez personnaliser la clé en l'éditant dans le volet droit. Si les choix de la clé ne ressemblent pas à vos attentes, vous pouvez modifier vos stratégies d'optimisation et retenter la conversion. Pour plus d'informations, consultez Choix des règles et des stratégies d'optimisation (p. 27). Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 64). Création et examen du rapport d'évaluation de migration de base de données Le rapport d'évaluation de migration de base de données synthétise tous les éléments d'action du schéma qui ne peuvent pas être convertis automatiquement pour le moteur de votre base de données. Le rapport donne également une estimation du temps nécessaire à l'écriture du code équivalent pour la base de données cible. Vous pouvez à tout moment créer (ou mettre à jour) un rapport d'évaluation de migration de base de données dans votre projet en exécutant la procédure suivante. Pour créer et afficher le rapport d'évaluation de migration de base de données 1. Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de schéma pour lequel vous souhaitez créer un rapport d'évaluation. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report. Version 1.0 29 AWS Schema Conversion Tool Guide de l'utilisateur Application du schéma converti à la base de données cible 2. La vue du rapport d'évaluation s'ouvre. Choisissez l'onglet Action Items. L'onglet Action Items affiche la liste des éléments de description du schéma qui ne peuvent pas être convertis automatiquement. Sélectionnez un des éléments d'action dans la liste. Notez que l'outil AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel s'applique l'élément d'action, comme le montre l'illustration suivante. 3. Choisissez l'onglet Summary. L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de données. Il indique le nombre d'éléments qui ont été convertis automatiquement et le nombre de ceux qui ne l'ont pas été. Ce récapitulatif donne également une estimation du temps nécessaire à la création d'un schéma dans la base de données cible équivalent à celui de la base de données source. Voici un exemple ci-dessous. 4. Choisissez l'onglet Summary, puis Save to PDF. Le rapport d'évaluation de migration de base de données est enregistré au format PDF. Le fichier PDF contient à la fois le récapitulatif et les informations sur les éléments d'action. Vous pouvez également choisir Save to CSV pour enregistrer le rapport sous forme de fichier CSV (valeurs séparées par des virgules). Le fichier CSV contient uniquement des informations sur l'élément d'action. Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 65). Application du schéma converti à la base de données cible Vous pouvez appliquer le schéma de base de données converti à votre base de données cible. Une fois que le schéma a été appliqué à votre base de données cible, vous pouvez le mettre à jour en fonction des éléments d'action figurant dans le rapport d'évaluation de migration de base de données. Caution Cette procédure a pour effet de remplacer le schéma cible existant. Veillez à ne pas remplacer le schéma accidentellement. Faites attention de ne pas remplacer le schéma dans la base de données cible que vous avez déjà modifiée, car ces modifications seront remplacées. Pour appliquer le schéma de base de données converti à votre base de données cible 1. 2. Choisissez l'élément de schéma dans le panneau droit de votre projet, qui présente le schéma planifié de votre base de données cible. Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to database. Le schéma converti est appliqué à la base de données cible. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 67). Rubriques connexes • Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58) Version 1.0 30 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Amazon Redshift Connexion à la base de données source Vous trouverez ci-après des informations sur la façon de vous connecter à votre source de données source. Choisissez la rubrique correspondant à votre base de données source. Rubriques • Connexion à une base de données source Amazon Redshift avec AWS Schema Conversion Tool (p. 31) • Connexion à une base de données source Greenplum avec AWS Schema Conversion Tool (p. 33) • Connexion à une base de données source Microsoft SQL Server avec AWS Schema Conversion Tool (p. 34) • Connexion à une base de données source MySQL avec AWS Schema Conversion Tool (p. 35) • Connexion à une base de données source Netezza avec AWS Schema Conversion Tool (p. 37) • Connexion à une base de données source Oracle avec AWS Schema Conversion Tool (p. 38) • Connexion à une base de données source d'entrepôt de données Oracle avec AWS Schema Conversion Tool (p. 40) • Connexion à une base de données source PostgreSQL avec AWS Schema Conversion Tool (p. 42) • Connexion à une base de données source Teradata avec AWS Schema Conversion Tool (p. 43) Connexion à une base de données source Amazon Redshift avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source Amazon Redshift. Pour vous connecter à une base de données source Amazon Redshift 1. Dans AWS Schema Conversion Tool, choisissez Connect to Source Amazon Redshift. La boîte de dialogue Connect to Amazon Redshift s'affiche. 2. Fournissez les informations de connexion à la base de données source Amazon Redshift. Utilisez les instructions fournies dans le tableau suivant. Version 1.0 31 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Amazon Redshift Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. Database Entrez le nom de la base de données Amazon Redshift. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • Verify Server Certificate : Sélectionnez cette option pour vérifier le certificat de serveur en utilisant un référentiel d'approbations. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. • Trust Store Password : Mot de passe du référentiel d'approbations. Pour plus d'information sur la prise en charge SSL pour Amazon Redshift, consultez Configurer les options de sécurité des connexions. Chemin d'accès au pilote Amazon Redshift Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Version 1.0 32 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source Greenplum avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source Greenplum. Pour vous connecter à une base de données source Greenplum 1. Dans AWS Schema Conversion Tool, choisissez Connect to Greenplum. La boîte de dialogue Connect to Greenplum s'affiche. 2. Fournissez les informations de connexion à la base de données source Greenplum. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. Database Entrez le nom de la base de données Greenplum. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • Verify Server Certificate : Sélectionnez cette option pour vérifier le certificat de serveur en utilisant un référentiel d'approbations. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. Version 1.0 33 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit • Trust Store Password : Mot de passe du référentiel d'approbations. Chemin d'accès au pilote Greenplum Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source Microsoft SQL Server avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source Microsoft SQL Server. Pour vous connecter à une base de données source Microsoft SQL Server 1. Dans AWS Schema Conversion Tool, choisissez Connect to Microsoft SQL Server. La boîte de dialogue Connect to Microsoft SQL Server s'affiche. 2. Fournissez les informations de connexion à la base de données source Microsoft SQL Server. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Server name Tapez le nom du service DNS (Domain Name Service) ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. Instance name Tapez le nom de l'instance de la base de données SQL Server. Pour trouver le nom de l'instance, exécutez la requête SELECT @@servername; sur la base de données SQL Server. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Version 1.0 34 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL (Secure Sockets Layer) pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • Trust Server Certificate : Sélectionnez cette option pour approuver le certificat de serveur. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. • Trust Store Password : Mot de passe du référentiel d'approbations. Sql Server Driver Path Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source MySQL avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source MySQL. Version 1.0 35 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source MySQL Pour vous connecter à une base de données source MySQL 1. Dans AWS Schema Conversion Tool, choisissez Connect to MySQL. La boîte de dialogue Connect to MySQL s'affiche. 2. Fournissez les informations de connexion à la base de données source MySQL. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • Require SSL : Sélectionnez cette option si vous souhaitez vous connecter au serveur via SSL uniquement. Note Si vous choisissez Require SSL et que le serveur ne prend pas en charge SSL, vous ne pouvez pas vous connecter au serveur. Si vous ne choisissez pas Require SSL et que le serveur ne prend pas en charge SSL, vous pouvez quand même vous connecter au serveur sans utiliser SSL. Pour plus d'informations, consultez Using Secure Connections. • Verify Server Certificate : Sélectionnez cette option pour vérifier le certificat de serveur en utilisant un référentiel d'approbations. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. • Trust Store Password : Mot de passe du référentiel d'approbations. Version 1.0 36 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit MySql Driver Path Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source Netezza avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source Netezza. Pour vous connecter à une base de données source Netezza 1. Dans AWS Schema Conversion Tool, choisissez Connect to Netezza. La boîte de dialogue Connect to Netezza s'affiche. 2. Fournissez les informations de connexion à la base de données source Netezza. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool Version 1.0 37 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Chemin d'accès au pilote Netezza Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source Oracle avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source Oracle. Pour vous connecter à une base de données source Oracle 1. Dans AWS Schema Conversion Tool, choisissez Connect to Oracle. La boîte de dialogue Connect to Oracle s'affiche. 2. Fournissez les informations de connexion à la base de données source Oracle. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Type Choisissez le type de connexion à la base de données. Selon le type choisi, fournissez les informations complémentaires suivantes : • SID • Server name : Nom DNS ou adresse IP du serveur de votre base de données source. • Server port : Port utilisé pour vous connecter au serveur de la base de données source. • Oracle SID : ID du système Oracle (SID). Pour trouver le SID Oracle, soumettez la requête suivante à votre base de données Oracle : Version 1.0 38 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Oracle Pour ce paramètre Procédez comme suit SELECT sys_context('userenv','instance_name') AS SID FROM dual; • Service Name • Server name : Nom DNS ou adresse IP du serveur de votre base de données source. • Server port : Port utilisé pour vous connecter au serveur de la base de données source. • Service Name : Nom du service Oracle auquel se connecter. • TNS Alias • TNS file path : Chemin d'accès au fichier qui contient les informations de connexion de nom TNS (Transparent Network Substrate). • TNS file path : Alias TNS de ce fichier à utiliser pour vous connecter à la base de données source. • TNS Connect Identifier • TNS identifier : Identificateur des informations de connexion TNS inscrites. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • SSL Authentication : Sélectionnez cette option pour utiliser l'authentification SSL pour la connexion. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. • Trust Store Password : Mot de passe du référentiel d'approbations. • Key Store : Emplacement d'un magasin de clés contenant une clé privée et des certificats. Cette valeur est obligatoire si SSL Authentication est sélectionné. Sinon, elle est facultative. • Trust Store Password : Mot de passe du magasin de clés. Cette valeur est obligatoire si SSL Authentication est sélectionné. Sinon, elle est facultative. Version 1.0 39 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit Oracle Driver Path Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source d'entrepôt de données Oracle avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source d'entrepôt de données Oracle. Pour vous connecter à une base de données source d'entrepôt de données Oracle 1. Dans AWS Schema Conversion Tool, choisissez Connect to Oracle DW. La boîte de dialogue Connect to Oracle s'affiche. 2. Fournissez les informations de connexion à la base de données source d'entrepôt de données Oracle. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Type Choisissez le type de connexion à la base de données. Selon le type choisi, fournissez les informations complémentaires suivantes : • SID • Server name : Nom DNS ou adresse IP du serveur de votre base de données source. • Server port : Port utilisé pour vous connecter au serveur de la base de données source. • Oracle SID : ID du système Oracle (SID). Pour trouver le SID Oracle, soumettez la requête suivante à votre base de données Oracle : Version 1.0 40 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source d'entrepôt de données Oracle Pour ce paramètre Procédez comme suit SELECT sys_context('userenv','instance_name') AS SID FROM dual; • Service Name • Server name : Nom DNS ou adresse IP du serveur de votre base de données source. • Server port : Port utilisé pour vous connecter au serveur de la base de données source. • Service Name : Nom du service Oracle auquel se connecter. • TNS Alias • TNS file path : Chemin d'accès au fichier qui contient les informations de connexion de nom TNS (Transparent Network Substrate). • TNS file path : Alias TNS de ce fichier à utiliser pour vous connecter à la base de données source. • TNS Connect Identifier • TNS identifier : Identificateur des informations de connexion TNS inscrites. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • SSL Authentication : Sélectionnez cette option pour utiliser l'authentification SSL pour la connexion. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. • Trust Store Password : Mot de passe du référentiel d'approbations. • Key Store : Emplacement d'un magasin de clés contenant une clé privée et des certificats. Cette valeur est obligatoire si SSL Authentication est sélectionné. Sinon, elle est facultative. • Trust Store Password : Mot de passe du magasin de clés. Cette valeur est obligatoire si SSL Authentication est sélectionné. Sinon, elle est facultative. Version 1.0 41 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit Oracle Driver Path Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source PostgreSQL avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source PostgreSQL. Pour vous connecter à une base de données source PostgreSQL 1. Dans AWS Schema Conversion Tool, choisissez Connect to PostgreSQL. La boîte de dialogue Connect to PostgreSQL s'affiche. 2. Fournissez les informations de connexion à la base de données source PostgreSQL. Utilisez les instructions fournies dans le tableau suivant. Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. Database Tapez le nom de la base de données PostgreSQL. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données Version 1.0 42 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Use SSL Sélectionnez cette option si vous voulez utiliser le protocole SSL pour vous connecter à la base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL : • Verify Server Certificate : Sélectionnez cette option pour vérifier le certificat de serveur en utilisant un référentiel d'approbations. • Trust Store : Emplacement d'un référentiel d'approbations contenant des certificats. • Trust Store Password : Mot de passe du référentiel d'approbations. PostgreSQL Driver Path Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. 4. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Connexion à une base de données source Teradata avec AWS Schema Conversion Tool Utilisez la procédure suivante pour vous connecter à une base de données source Teradata. Pour vous connecter à une base de données source Teradata 1. Dans AWS Schema Conversion Tool, choisissez Connect to Teradata. La boîte de dialogue Connect to Teradata s'affiche. 2. Fournissez les informations de connexion à la base de données source Teradata. Utilisez les instructions fournies dans le tableau suivant. Version 1.0 43 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit Server name Tapez le nom DNS ou l'adresse IP du serveur de la base de données source. Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source. Base de données Tapez le nom de la base de données Teradata. User name et Password Tapez le nom utilisateur et le mot de passe pour vous connecter au serveur de la base de données source. Note AWS Schema Conversion Tool se sert du mot de passe pour se connecter à la base de données source uniquement pendant que vous créez votre projet. Vous pouvez aussi choisir l'option Connect to source dans un projet, où source correspond à votre base de données source. Pour éviter d'exposer le mot de passe de votre base de données source, AWS Schema Conversion Tool ne stocke pas le mot de passe. Si vous fermez et rouvrez votre projet AWS Schema Conversion Tool, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire. Encrypt Data Sélectionnez cette option si vous souhaitez chiffrer les données que vous échangez avec la base de données. Teradata Driver Path Tapez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, consultez Installation des pilotes de base de données requis (p. 6). Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, consultez Stockage des chemins d'accès aux pilotes dans les paramètres globaux (p. 8). 3. 4. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données source. Choisissez OK pour vous connecter à la base de données source. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 13) • Connexion à votre base de données cible (p. 11) Version 1.0 44 AWS Schema Conversion Tool Guide de l'utilisateur Utilisation de bases de données Vous pouvez utiliser AWS Schema Conversion Tool pour convertir votre schéma de base de données existante d'un moteur de base de données en un autre. Votre schéma converti convient à Amazon Relational Database Service (Amazon RDS). Vous pouvez également utiliser AWS Schema Conversion Tool pour copier votre schéma de base de données sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur. Cette fonction vous permet d'analyser les économies de coûts potentielles en cas de déplacement vers le cloud et de changement de votre type de licence. Dans certains cas, les fonctionnalités de base de données ne peuvent pas être converties en fonctionnalités Amazon RDS équivalentes. Si vous hébergez et gérez vous-même une base de données sur la plateforme Amazon Elastic Compute Cloud (Amazon EC2), vous pouvez imiter ces fonctionnalités en remplaçant les services AWS par ces dernières. Vous trouverez ci-après davantage d'informations sur ces processus. Rubriques • Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46) • Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 55) Version 1.0 45 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schémas de base de données Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool AWS Schema Conversion Tool automatise une grande partie du processus de conversion de votre schéma de base de données OLTP (traitement de transaction en ligne) en instance DB MySQL Amazon Relational Database Service (Amazon RDS), en cluster de base de données Amazon Aurora ou en instance DB PostgreSQL. Les moteurs de base de données source et cible contiennent de nombreuses caractéristiques et fonctions et AWS Schema Conversion Tool tente de créer un schéma équivalent dans votre instance DB RDS, dans la mesure du possible. Si aucune conversion directe n'est possible, AWS Schema Conversion Tool fournit une liste des actions possibles que vous pouvez effectuer. Vous pouvez également utiliser AWS Schema Conversion Tool pour copier votre schéma de base de données sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur. Vous pouvez utiliser cette fonction pour analyser les économies de coûts potentielles en cas de migration vers le cloud. AWS Schema Conversion Tool prend en charge les conversions OLTP suivantes. Base de données source Base de données cible sur Amazon RDS Microsoft SQL Server (version 2008 ou ultérieure) Amazon Aurora (MySQL ou PostgreSQL), Microsoft SQL Server, MySQL, PostgreSQL MySQL (version 5.6 ou ultérieure) Amazon Aurora (PostgreSQL), MySQL, PostgreSQL Oracle (version 10.2 ou ultérieure) Amazon Aurora (MySQL ou PostgreSQL), MySQL, Oracle, PostgreSQL PostgreSQL (version 9.1 ou ultérieure) Amazon Aurora (MySQL), MySQL, PostgreSQL Si vous voulez convertir un schéma d'entrepôt de données, consultez Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58). Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en route avec AWS Schema Conversion Tool (p. 9). Pour convertir votre schéma de base de données vers Amazon RDS, vous effectuez les étapes détaillées suivantes : • Créer des règles de mappage – Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez définir des règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et modifient les noms des objets. Pour plus d'informations, consultez Création de règles de mappage dans AWS Schema Conversion Tool (p. 47). Version 1.0 46 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage • Convertir votre schéma – AWS Schema Conversion Tool crée une version locale du schéma converti pour vous permettre de le vérifier, mais il ne l'applique pas à votre instance DB cible jusqu'à ce que vous soyez prêt. Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 49). • Créer un rapport d'évaluation de la migration de base de données – AWS Schema Conversion Tool crée un rapport d'évaluation de la migration de base de données qui détaille les éléments de schéma qui ne peuvent pas être convertis automatiquement. Vous pouvez utiliser ce rapport pour identifier où vous avez besoin de créer un schéma de votre instance DB RDS compatible avec votre base de données source. Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50). • Décider comment gérer les conversions manuelles – si vous avez des éléments de schéma qui ne peuvent pas être convertis automatiquement, deux choix s'offrent à vous : mettre à jour le schéma source puis le convertir à nouveau ou créer des éléments de schéma équivalents dans votre instance DB RDS cible. Pour plus d'informations, consultez Gestion des conversions manuelles dans AWS Schema Conversion Tool (p. 52). • Mettre à jour et actualiser le schéma de votre projet AWS Schema Conversion Tool – vous pouvez mettre à jour votre projet AWS Schema Conversion Tool avec le schéma le plus récent de votre base de données source. Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 53). • Appliquer le schéma converti à votre base de données cible – lorsque vous êtes prêt, faites appliquer par AWS Schema Conversion Tool le schéma converti dans votre projet local à votre instance DB RDS cible. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 53). Création de règles de mappage dans AWS Schema Conversion Tool Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez définir des règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et modifient les noms des objets. Par exemple, si votre schéma source comporte un ensemble de tables nommé test_TABLE_NAME, vous pouvez configurer une règle qui remplace le préfixe test_ par le préfixe demo_ dans le schéma cible. Version 1.0 47 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage Note Vous pouvez uniquement créer des règles de mappage si les moteurs des bases de données source et cible sont différents. Vous pouvez créer des règles de mappage qui effectuent les tâches suivantes : • Modifier le type de données • Déplacer des objets • Renommer des objets • Préfixe - ajouter un préfixe, supprimer un préfixe, remplacer un préfixe • Suffixe - ajouter un suffixe, supprimer un suffixe, remplacer un suffixe Vous pouvez créer des règles de mappage pour les objets suivants : • Base de données • Schéma • Tableau • Colonne Création de règles de mappage Vous pouvez créer des règles de mappage et les enregistrer dans le cadre de votre projet. Avec le projet ouvert, utilisez la procédure suivante pour créer des règles de mappage. Pour créer des règles de mappage 1. Choisissez Mapping Rules dans le menu Settings. La boîte de dialogue Mapping Rules s'affiche. 2. Choisissez Add new rule. Une nouvelle ligne est ajoutée à la liste de règles. 3. Choisissez l'icône de modification pour configurer votre règle. a. Sous Name, entrez un nom unique pour la règle. b. Sous For, choisissez le type d'objet auquel la règle s'applique. c. Sous where, entrez le filtre à appliquer aux objets avant d'appliquer la règle de mappage. La clause Where est évaluée à l'aide d'une clause Like. Vous pouvez entrer un nom exact pour sélectionner un objet, ou spécifier un modèle afin de sélectionner plusieurs objets. Les champs disponibles pour la clause where varient en fonction du type de l'objet. Par exemple, s"il s'agit du type d'objet schéma, un seul champ est disponible pour le nom de schéma. d. Sous Actions, choisissez le type de règle de mappage que vous voulez créer. e. En fonction du type de règle, entrez une ou deux valeurs supplémentaires. Par exemple, pour renommer un objet, entrez le nouveau nom de l'objet. Pour remplacer un préfixe, entrez l'ancien et le nouveau préfixes. 4. Une fois que vous avez configuré votre règle de mappage, choisissez Save pour enregistrer la règle. Vous pouvez également choisir Cancel pour annuler vos modifications. 5. Une fois que vous avez ajouté, modifié ou supprimé les règles, choisissez Save All pour enregistrer toutes vos modifications. 6. Choisissez Close pour fermer la boîte de dialogue Mapping Rules. Vous pouvez utiliser l'icône bascule pour désactiver une règle de mappage sans la supprimer. Vous pouvez utiliser l'icône de copie pour dupliquer une règle de mappage existante. Vous pouvez utiliser l'icône Version 1.0 48 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma de suppression pour supprimer une règle de mappage existante. Pour enregistrer toutes les modifications apportées à vos règles de mappage, choisissez Save All. Affichage des règles de mappage pour les objets Après avoir configuré vos règles de mappage, vous pouvez vérifier leur impact sur des objets spécifiques de votre schéma avant de convertir ce dernier. Dans l'arborescence du schéma source, choisissez l'objet voulu. Dans l'affichage principal, choisissez l'onglet Mapping. L'onglet Mapping s'ouvre et affiche la liste de toutes les règles de mappage appliquées à l'objet. Vous pouvez voir le nom de l'objet dans le schéma source et son nouveau nom dans le schéma cible. Si vous avez des règles de type de données, le type de données de la colonne est également affiché dans le schéma source et son nouveau type de données est affiché dans le schéma cible. Exportation des règles de mappage Si vous utilisez AWS Database Migration Service (AWS DMS) pour migrer vos données de la base de données source vers la base de données cible, vous pouvez fournir des informations sur les règles de mappage à AWS DMS. Pour plus d'informations sur les tâches, consultez Utilisation des tâches de réplication AWS Database Migration Service. Pour exporter des règles de mappage 1. Dans AWS Schema Conversion Tool, dans l'arborescence du schéma source, ouvrez le menu contextuel (clic droit) et choisissez Export script for DMS. La boîte de dialogue d'enregistrement s'affiche. 2. Accédez à l'emplacement où vous souhaitez enregistrer votre script, puis choisissez Save. Vos règles de mappage sont enregistrées sous forme de script JSON pouvant être utilisé par AWS DMS. Conversion de votre schéma en utilisant AWS Schema Conversion Tool Une fois que vous avez connecté votre projet à votre base de données source et à votre instance DB RDS cible, votre projet AWS Schema Conversion Tool affiche le schéma de votre base de données source dans le volet gauche. Le schéma est présenté sous forme d'arborescence, et chaque nœud de l'arborescence est « avec chargement différé ». En d'autres termes, lorsque vous sélectionnez un nœud dans l'arborescence, AWS Schema Conversion Tool demande les informations de schéma de votre base de données source à ce moment-là. Vous pouvez choisir des éléments de schéma de votre base de données source, puis convertir le schéma en schéma équivalent pour le moteur de base de données de votre instance DB cible. Vous pouvez choisir n'importe quel élément de schéma de votre base de données source de convertir. Si l'élément de schéma que vous choisissez dépend d'un élément parent, puis AWS Schema Conversion Tool génère également le schéma de l'élément parent. Par exemple, si vous choisissez une colonne dans une table de convertir, alors AWS Schema Conversion Tool génère le schéma de la colonne, la table dans laquelle la colonne se trouve et la base de données dans laquelle la table se trouve. Conversion de schémas Pour convertir le schéma de votre base de données source, choisissez l'objet de schéma à convertir dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Convert schema, comme indiqué ci-dessous. Une fois que vous avez converti le schéma de votre base de données source, vous pouvez choisir des éléments de schéma dans le volet gauche de votre projet et afficher le schéma converti dans les panneaux Version 1.0 49 AWS Schema Conversion Tool Guide de l'utilisateur Création et utilisation du rapport d'évaluation centraux de votre projet. Le panneau situé dans la partie centrale inférieure affiche les propriétés et la commande SQL pour créer le schéma converti, comme illustré ci-après. Une fois que vous avez converti votre schéma, vous pouvez enregistrer votre projet. Les informations de schéma de votre base de données source sont enregistrées avec votre projet. Cette fonctionnalité signifie que vous pouvez travailler hors ligne sans être connecté à votre base de données source. AWS Schema Conversion Tool se connecte à votre base de données source pour mettre à jour le schéma de votre projet, si vous choisissez Refresh from Database pour votre base de données source. Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 53). Vous pouvez créer un rapport d'évaluation de la migration de base de données des éléments qui ne peuvent pas être convertis automatiquement. Le rapport d'évaluation est utile pour identifier et résoudre les éléments de schéma qui ne peut pas être convertis automatiquement. Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50). Lorsqu'AWS Schema Conversion Tool génère un schéma converti, il ne l'applique pas immédiatement à l'instance DB cible. En revanche, le schéma converti est stocké localement jusqu'à ce que vous soyez prêt à l'appliquer à l'instance DB cible. Pour plus d'informations, consultez Application de votre schéma converti (p. 54). Modification du schéma converti Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet. Pour modifier le schéma converti 1. 2. 3. Dans le volet gauche qui affiche le schéma de votre base de données source, sélectionnez l'élément pour lequel vous voulez modifier le schéma converti. Dans le volet situé dans la partie centrale inférieure qui affiche le schéma converti pour l'élément sélectionné, choisissez l'onglet SQL. Dans le texte affiché pour l'onglet SQL, modifiez le schéma comme requis. Le schéma est automatiquement enregistré avec votre projet comme vous le mettez à jour. Les modifications que vous apportez au schéma converti sont stockées avec votre projet lorsque vous effectuez des mises à jour. Si vous convertissez nouvellement un élément de schéma de votre base de données source et que vous avez fait des mises à jour de schéma précédemment converti pour cet élément, ces mises à jour existantes sont remplacées par l'élément de schéma nouvellement converti basé sur votre base de données source. Suppression d'un schéma converti Jusqu'à ce que vous appliquiez le schéma à votre instance DB cible, AWS Schema Conversion Tool stocke localement que le schéma converti dans votre projet. Vous pouvez supprimer le schéma planifié de votre projet en choisissant le nœud de l'arborescence pour votre instance DB cible, puis en choisissant Refresh from Database. Parce qu'aucun schéma n'a été écrit dans votre instance DB cible, l'actualisation de la base de données supprime les éléments de schéma planifiés dans votre projet de l'outil de conversion de schémas pour correspondre à ce qui existe dans votre instance DB cible. Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool Le rapport d'évaluation de la migration de la base de données fournit des informations importantes à propos de la conversion du schéma de votre base de données source à votre instance DB RDS cible. Le rapport résume toutes les tâches de conversion de schémas et détaille les éléments de l'action de schéma qui ne peuvent pas être convertis au moteur de base de données de votre instance DB cible. Ce rapport Version 1.0 50 AWS Schema Conversion Tool Guide de l'utilisateur Création et utilisation du rapport d'évaluation comprend également des estimations des efforts qui devront être fournis pour écrire le code équivalent dans votre instance DB cible qui ne peut pas être converti automatiquement. Si vous utilisez AWS Schema Conversion Tool pour copier votre schéma de base de données sur site existant sur une instance de base de données Amazon RDS qui exécute le même moteur, le rapport peut vous aider à analyser les exigences requises pour la migration vers le cloud et la modification de votre type de licence. Création d'un rapport d'évaluation de migration de la base de données Utilisez la procédure suivante pour créer un rapport d'évaluation de la migration de base de données. Pour créer un rapport d'évaluation de migration de base de données 1. Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de schéma pour lequel vous souhaitez créer un rapport d'évaluation. 2. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report. Récapitulatif du rapport d'évaluation Après avoir créé un rapport d'évaluation, l'affichage du rapport d'évaluation s'ouvre et affiche l'onglet Summary. L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de données. Il indique les éléments qui ont été convertis automatiquement et ceux qui ne l'ont pas été. En ce qui concerne les éléments du schéma qui ne peuvent pas être convertis automatiquement pour le moteur de base de données cible, ce récapitulatif comprend une estimation de l'effort nécessaire pour créer des éléments de schéma dans votre instance DB cible équivalents à ceux de votre instance DB cible. Ce rapport classe le temps estimé pour convertir ces éléments de schéma de la façon suivante : • Simple – Actions qui peuvent être exécutées en moins d'1 heure. • Moyen – Actions qui sont plus complexes et peuvent être exécutées entre 1 à 4 heures. • Important – Actions qui sont très complexes et dont l'exécution prendra plus de 4 heures. La section Evaluation de licence et prise en charge du cloud contient des informations sur le déplacement de votre schéma de base de données sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur. Par exemple, si vous voulez modifier les types de licence, cette section du rapport vous indique quelles fonctions de votre base de données actuelle doivent être supprimées. Elément d'action du rapport d'évaluation L'affichage de rapport d'évaluation comprend également un onglet Action Items. Cet onglet contient une liste des éléments qui ne peuvent pas être convertis automatiquement dans le moteur de base de données de votre instance DB RDS cible. Si vous sélectionnez un élément d'action dans la liste, AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel s'applique l'élément d'action. Le rapport contient également des recommandations sur la manière de convertir manuellement l'élément de schéma. Pour plus d'informations sur la façon de gérer les conversions manuelles, consultez Gestion des conversions manuelles dans AWS Schema Conversion Tool (p. 52). Enregistrement du rapport d'évaluation Vous pouvez enregistrer une copie locale du rapport d'évaluation de la migration de la base de données dans un fichier PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier CSV contient Version 1.0 51 AWS Schema Conversion Tool Guide de l'utilisateur Gestion des conversions manuelles uniquement des informations sur l'élément d'action. Le fichier PDF contient les informations sur le récapitulatif et les éléments d'action, comme illustré dans l'exemple suivant. Gestion des conversions manuelles dans AWS Schema Conversion Tool Le rapport d'évaluation inclut une liste des éléments qui ne peuvent pas être convertis automatiquement vers le moteur de base de données de votre instance DB RDS cible. Pour chaque élément qui ne peut pas être converti, il y a un élément de l'action sur l'onglet Action Items. Vous pouvez réagir aux éléments d'action du rapport d'évaluation des manières suivantes : • Modifiez votre schéma de base de données source. • Modifiez votre schéma de base de données cible. Modification de votre schéma source Pour certains éléments, il peut être plus facile de modifier le schéma de base de données dans votre base de données source en un schéma qui peut être converti automatiquement. Tout d'abord, vérifiez que les nouvelles modifications sont compatibles avec l'architecture de votre application, puis mettez à jour le schéma dans votre base de données source. Enfin, actualisez votre projet avec les informations de schéma mises à jour. Vous pouvez ensuite convertir le schéma mis à jour et générer un nouveau rapport d'évaluation de la migration de la base de données. Les éléments d'action n'apparaissent plus pour les éléments qui ont été modifiés dans le schéma source. L'avantage de ce processus est que le schéma mis à jour est toujours disponible lors de l'actualisation à parti de votre base de données source. Modification de votre schéma cible Pour certains éléments, il peut être plus facile d'appliquer le schéma converti à votre base de données cible, et d'ajouter ensuite les éléments de schéma équivalent manuellement à votre base de données cible pour les éléments qui n'ont pas pu être convertis automatiquement. Vous pouvez écrire tout le schéma qui peut être converti automatiquement à votre instance DB cible en appliquant le schéma. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 53). Le schéma qui est écrit dans votre instance DB cible ne contient pas les éléments qui ne peuvent pas être convertis automatiquement. Après avoir appliqué le schéma à votre instance DB cible, vous pouvez alors créer manuellement un schéma dans votre instance DB cible qui est équivalent à celui de la base de données source. Les éléments d'action dans le rapport d'évaluation de la migration de base de données contiennent des suggestions sur la façon de créer le schéma équivalent. Caution Si vous créez manuellement le schéma de votre instance DB cible, enregistrez une copie de n'importe quel travail manuel que vous faites. Si vous appliquez de nouveau le schéma converti à partir de votre projet à votre instance DB cible, il remplace le travail manuel que vous avez terminé. Dans certains cas, vous ne pouvez pas créer de schéma équivalent dans votre instance DB cible. Vous devrez reconcevoir une partie de votre application et de votre base de données afin d'utiliser les fonctionnalités disponibles dans le moteur de base de données pour votre instance DB cible. Dans d'autres cas, vous pourrez simplement ignorer le schéma qui ne peut pas être converti automatiquement. Version 1.0 52 AWS Schema Conversion Tool Guide de l'utilisateur Mise à jour et actualisation de votre schéma converti Rubriques connexes • Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 49) • Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50) • Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 53) Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool Vous pouvez mettre à jour le schéma source et le schéma cible dans votre projet AWS Schema Conversion Tool. • Source – Si vous mettez à jour le schéma de votre base de données source, AWS Schema Conversion Tool remplace le schéma de votre projet par le dernier schéma de votre base de données source. A l'aide de cette fonctionnalité, vous pouvez mettre à jour votre projet si les modifications ont été apportées au schéma de votre base de données source. • Cible – si vous mettez à jour le schéma de votre instance DB RDS cible, AWS Schema Conversion Tool remplace le schéma de votre projet par le dernier schéma de votre instance DB cible. Si vous n'avez pas appliqué un schéma de votre instance DB cible, AWS Schema Conversion Tool supprime le schéma converti de votre projet. Vous pouvez ensuite convertir le schéma de votre base de données source en une instance DB cible propre. Vous mettez à jour le schéma dans votre projet AWS Schema Conversion Tool en choisissant Refresh from Database, comme indiqué ci-dessous. Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool Lorsqu'AWS Schema Conversion Tool génère le schéma converti (comme indiqué dans Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 49)), il n'applique pas immédiatement le schéma converti à l'instance DB cible. Au lieu de cela, le schéma converti est stocké localement dans votre projet jusqu'à ce que vous soyez prêt à l'appliquer à l'instance DB cible. A l'aide de cette fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas être convertis automatiquement à votre moteur de base de données cible. Pour plus d'informations sur les éléments qui ne peuvent pas être convertis automatiquement, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50). De manière facultative, l'outil peut enregistrer votre schéma converti en un fichier en tant que script SQL avant d'appliquer le schéma à votre instance DB cible. Vous pouvez faire appliquer par l'outil le schéma converti directement à votre instance DB cible. Enregistrement de votre schéma converti en un fichier Vous pouvez enregistrer votre schéma converti sous forme de scripts SQL dans un fichier texte. Grâce à cette approche, vous pouvez modifier les scripts SQL générés à partir d'AWS Schema Conversion Tool pour les éléments que l'outil ne peut pas convertir automatiquement. Vous pouvez ensuite exécuter vos scripts mis à jour sur votre instance DB cible pour appliquer votre schéma converti à votre base de données cible. Version 1.0 53 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement et application de votre schéma Pour enregistrer votre schéma converti sous forme de scripts SQL, ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Save as SQL, comme indiqué ci-dessous. Application de votre schéma converti Une fois que vous êtes prêt à appliquer votre schéma converti à l'instance DB RDS cible, choisissez l'élément de schéma dans le volet droit du projet. Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to database, comme indiqué ci-dessous. Schéma du kit d'extension La première fois que vous appliquez votre schéma converti à votre instance de base de données cible, AWS Schema Conversion Tool ajoute un schéma supplémentaire à cette dernière. Ce schéma met en œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension. Ne modifiez pas ce schéma ou vous risquez d'obtenir des résultats inattendus dans le schéma converti écrit dans l'instance de base de données cible. Lorsque votre schéma est entièrement migré vers l'instance de base de données cible et que vous n'avez plus besoin d'AWS Schema Conversion Tool, vous pouvez supprimer le schéma de kit d'extension. Le schéma de kit d'extension est nommé selon votre base de données source, comme suit : • Microsoft SQL Server: AWS_SQLSERVER_EXT • MySQL: AWS_MYSQL_EXT • Oracle: AWS_ORACLE_EXT • PostgreSQL: AWS_POSTGRESQL_EXT Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 55). Version 1.0 54 AWS Schema Conversion Tool Guide de l'utilisateur Kit d'extension et services AWS pour bases de données Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données Lorsque vous convertissez votre schéma de base de données, AWS Schema Conversion Tool ajoute un schéma supplémentaire à votre instance de base de données cible. Ce schéma met en œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension. Le schéma de kit d'extension est nommé selon votre base de données source, comme suit : • Microsoft SQL Server: AWS_SQLSERVER_EXT • MySQL: AWS_MYSQL_EXT • Oracle: AWS_ORACLE_EXT • PostgreSQL: AWS_POSTGRESQL_EXT Dans les deux cas suivants, vous pouvez installer le kit d'extension manuellement : • Vous avez supprimé accidentellement le schéma de base de données du kit d'extension de votre base de données cible. • Vous voulez utiliser des services AWS pour émuler les fonctions de base de données. Utilisation de services AWS pour émuler les fonctions de base de données Dans certains cas, les fonctions de base de données ne peuvent pas être converties en fonctions Amazon Relational Database Service (Amazon RDS) équivalentes. Quelques exemples sont les appels d'envoi d'e-mail Oracle qui utilisent UTL_SMTP et les tâches Microsoft SQL Server qui utilisent un planificateur de tâches. Si vous hébergez et gérez vous-même une base de données sur la plateforme Amazon Elastic Compute Cloud (Amazon EC2), vous pouvez imiter ces fonctionnalités en remplaçant les services AWS par ces dernières. L'assistant du kit d'extension AWS Schema Conversion Tool vous permet d'installer, de créer et de configurer des fonctions AWS Lambda afin d'émuler les fonctions d'envoi d'e-mail, de planification des tâches ainsi que d'autres fonctions. Avant de commencer Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en route avec AWS Schema Conversion Tool (p. 9). Avant d'installer le kit d'extension, vous devez convertir votre schéma de base de données. Pour plus d'informations, consultez Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46). Version 1.0 55 AWS Schema Conversion Tool Guide de l'utilisateur Application du kit d'extension Application du kit d'extension Utilisez la procédure suivante pour appliquer le kit d'extension. Important Les fonctions d'émulation de service AWS sont uniquement prises en charge pour les bases de données installées et auto-gérées sur la plateforme Amazon EC2. N'installez pas les fonctions d'émulation de service si votre base de données cible se trouve sur une instance de base de données Amazon RDS. Pour appliquer le kit d'extension 1. Dans AWS Schema Conversion Tool, dans l'arborescence de base de données cible, ouvrez le menu contexte (clic droit) et choisissez Apply Extension Pack. L'assistant Kit d'extension s'affiche. 2. Lisez la page d'accueil, puis choisissez Next. 3. Dans la page AWS Services Settings, procédez comme suit : • Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez Skip this step for now, puis Next. • Si vous installez des services AWS, entrez les informations d'identification requises pour vous connecter à votre compte AWS. Vous pouvez utiliser vos informations d'identification AWS Command Line Interface (AWS CLI) si vous avez installé l'interface de ligne de commande (AWS CLI). Vous pouvez également utiliser les informations d'identification précédemment stockées dans un profil dans les paramètres globaux de l'application et associées au projet. Le cas échéant, choisissez Navigate to Project Settings pour associer un autre profil au projet. Le cas échéant, choisissez Global Settings pour créer un profil. Pour plus d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 87). 4. Dans la page Email Sending Service, procédez comme suit : 5. • Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez Skip this step for now, puis Next. • Si vous installez des services AWS et qu'il existe déjà une fonction AWS Lambda, vous pouvez la fournir. Sinon l'assistant la crée à votre place. Lorsque vous avez terminé, cliquez sur Next. Dans la page Job Emulation Service, procédez comme suit : • Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez Skip this step for now, puis Next. • Si vous installez des services AWS et qu'il existe déjà une fonction AWS Lambda, vous pouvez la fournir. Sinon l'assistant la crée à votre place. Lorsque vous avez terminé, cliquez sur Next. 6. Dans la page Functions Emulation, choisissez Create Extension Pack. Des messages affichent l'état des opérations du kit d'extension. Lorsque vous avez terminé, choisissez Finish. Version 1.0 56 AWS Schema Conversion Tool Guide de l'utilisateur Utilisation d'entrepôts de données Vous pouvez utiliser AWS Schema Conversion Tool pour convertir votre schéma d'entrepôt de données existant. Votre schéma converti convient à un cluster Amazon Redshift. Dans certains cas, les fonctions de base de données source ne peuvent pas être converties en fonctions Amazon Redshift équivalentes. Le kit d'extension AWS Schema Conversion Tool contient une bibliothèque Python personnalisée qui émule certaines fonctionnalités de base de données source sur Amazon Redshift. Vous pouvez utiliser des agents de migration de données pour extraire des données de votre entrepôt de données en vue de les préparer afin de les migrer vers Amazon Redshift. Pour gérer les agents de migration de données, vous pouvez utiliser AWS Schema Conversion Tool. Vous pouvez utiliser AWS Schema Conversion Tool pour optimiser votre base de données Amazon Redshift existante. AWS Schema Conversion Tool recommande d'utiliser des clés de tri et de distribution pour optimiser votre base de données. Vous trouverez ci-après davantage d'informations sur ces processus. Rubriques • Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58) • Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69) • Utilisation des agents de migration de données (p. 71) • Optimisation d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool (p. 77) Version 1.0 57 AWS Schema Conversion Tool Guide de l'utilisateur Conversion du schéma d'entrepôt de données Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool AWS Schema Conversion Tool automatise une grande partie du processus de conversion de votre schéma d'entrepôt de données en un schéma de base de données Amazon Redshift. Les moteurs de base de données source et cible contiennent de nombreuses caractéristiques et fonctions et l'AWS Schema Conversion Tool tente de créer un schéma équivalent dans votre base de données cible, dans la mesure du possible. Si aucune conversion directe n'est possible, l'AWS Schema Conversion Tool fournit une liste des actions possibles que vous pouvez effectuer. AWS Schema Conversion Tool prend en charge les conversions d'entrepôt de données suivantes. Base de données source Base de données cible sur Amazon Redshift Base de données Greenplum (version 4.3 ou ultérieure) Amazon Redshift Netezza (version 7.2 ou ultérieure) Amazon Redshift Oracle (version 11 ou ultérieure) Amazon Redshift Teradata (version 15 ou ultérieure) Amazon Redshift Si vous souhaitez convertir un schéma de base de données de traitement des transactions en ligne (OLTP), consultez Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46). Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en route avec AWS Schema Conversion Tool (p. 9). Pour convertir votre schéma d'entrepôt de base de données vers Amazon RDS, vous effectuez les étapes détaillées suivantes : • Choisir votre stratégie d'optimisation – Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de données, vous pouvez choisir les stratégies et les règles de l'outil à utiliser. Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 60). • Collecter les statistics – Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de données, vous pouvez fournir les statistiques de votre base de données source que l'outil peut utiliser. Vous pouvez collecter les statistiques directement à partir de la base de données, ou charger un fichier de statistiques existant. Version 1.0 58 AWS Schema Conversion Tool Guide de l'utilisateur Conversion du schéma d'entrepôt de données Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema Conversion Tool (p. 61). • Créer des règles de mappage – Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez définir des règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et modifient les noms des objets. Pour plus d'informations, consultez Création de règles de mappage dans AWS Schema Conversion Tool (p. 61). • Convertir votre schéma – AWS Schema Conversion Tool crée une version locale du schéma converti pour pouvoir le vérifier, mais il ne l'applique pas à votre base de données cible jusqu'à ce que vous soyez prêt. Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 63). • Gérer et personnaliser les clés – Quand vous convertissez votre schéma, vous pouvez gérer et modifier vos clés. La gestion des clés est le cœur d'une conversion d'entrepôt de données. Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 64). • Créer un rapport d'évaluation de la migration de base de données – AWS Schema Conversion Tool crée un rapport d'évaluation de la migration de base de données qui détaille les éléments de schéma qui ne peuvent pas être convertis automatiquement. Vous pouvez utiliser ce rapport pour identifier où vous avez besoin de créer manuellement un schéma dans votre base de données cible qui est compatible avec votre base de données source. Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 65). • Décider comment gérer les conversions manuelles – Si vous avez des éléments de schéma qui ne peuvent pas être convertis automatiquement, deux choix s'offrent à vous : mettre à jour le schéma source puis le convertir à nouveau ou créer des éléments de schéma équivalents dans votre base de données cible. Pour plus d'informations, consultez Gestion des conversions manuelles dans AWS Schema Conversion Tool (p. 66). • Mettre à jour et actualiser le schéma de votre projet AWS Schema Conversion Tool – vous pouvez mettre à jour votre projet AWS Schema Conversion Tool avec le schéma le plus récent de votre base de données source. Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 67). Version 1.0 59 AWS Schema Conversion Tool Guide de l'utilisateur Choix des règles et des stratégies d'optimisation • Appliquer le schéma converti à votre base de données cible – Lorsque vous êtes prêt, faites appliquer par AWS Schema Conversion Tool le schéma converti dans votre projet local à votre base de données cible. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 67). Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de données, vous pouvez choisir les stratégies et les règles que l'outil va utiliser. Après la conversion de votre schéma et la vérification des clés suggérés, vous pouvez ajuster vos règles ou modifier votre stratégie afin d'obtenir les résultats souhaités. Pour choisir vos stratégies d'optimisation et règles 1. Choisissez Settings, puis Projet Settings. La boîte de dialogue Current project settings s'affiche. 2. Dans le volet gauche, choisissez Optimization Strategies. Les stratégies d'optimisation apparaissent dans le volet droit avec les valeurs par défaut sélectionnées. 3. Pour Strategy Sector, choisissez la stratégie d'optimisation que vous voulez utiliser. Choisissez parmi les éléments suivants : • Use metadata, ignore statistical information – Dans cette stratégie, seules les informations des métadonnées sont utilisées pour les décisions d'optimisation. Par exemple, s'il existe plusieurs index sur une table source, l'ordre de tri de la base de données source est utilisé, et le premier index devient une clé de distribution. • Ignore metadata, use statistical information – Dans cette stratégie, les décisions d'optimisation s'appuient uniquement sur les informations statistiques. Cette stratégie s'applique uniquement aux tables et aux colonnes pour lesquelles les statistiques sont fournis. Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema Conversion Tool (p. 61). • Use metadata and use statistical information – Dans cette stratégie, à la fois les métadonnées et les statistiques sont utilisées pour les décisions d'optimisation. 4. Une fois que vous choisissez votre stratégie d'optimisation, vous pouvez choisir les règles que vous voulez utiliser. Choisissez parmi les éléments suivants : • Choix de la clé de distribution et des clés de tri en utilisant les métadonnées • Choix de la table des faits et la dimension appropriée pour le classement • Analyse de la cardinalité des colonnes d'index • Recherche des tables et des colonnes les plus utilisées à partir de la table QueryLog Pour chaque règle, vous pouvez entrer une pondération pour la clé de tri et une pondération pour la clé de distribution. AWS Schema Conversion Tool se sert des pondérations que vous définissez au moment de convertir votre schéma. Plus tard, lorsque vous vérifiez les clés suggérées, vous pouvez revenir ici et modifier vos paramètres si vous n'êtes pas satisfait des résultats. Pour plus Version 1.0 60 AWS Schema Conversion Tool Guide de l'utilisateur Collecte ou téléchargement des statistiques d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 64). Rubriques connexes • Choix de la meilleure clé de tri • Choisir le meilleur style de distribution Collecte ou chargement des statistiques pour AWS Schema Conversion Tool Pour optimiser la façon dont AWS Schema Conversion Tool convertit votre schéma d'entrepôt de données, vous pouvez fournir les statistiques de votre base de données source que l'outil peut utiliser. Vous pouvez collecter les statistiques directement à partir de la base de données, ou charger un fichier de statistiques existant. Pour fournir et vérifier les statistiques 1. Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion à la base de données source (p. 11). 2. Choisissez un objet de schéma dans le volet gauche de votre projet et ouvrez le menu de contexte (clic droit) pour l'objet. Choisissez Collect Statistics ou Upload Statistics comme le suggère l'illustration ci-dessous. 3. Choisissez un objet de schéma dans le volet gauche de votre projet, puis choisissez l'onglet Statistics. Vous pouvez vérifier les statistiques pour l'objet. Plus tard, lorsque vous vérifiez les clés suggérées, vous pouvez collecter des statistiques supplémentaires et répéter l'opération si vous n'êtes pas satisfait des résultats. Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 64). Rubriques connexes • Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 60) • Choix de la meilleure clé de tri • Choisir le meilleur style de distribution Création de règles de mappage dans AWS Schema Conversion Tool Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez définir des règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et modifient les noms des objets. Par exemple, si votre schéma source comporte un ensemble de tables nommé test_TABLE_NAME, vous pouvez configurer une règle qui remplace le préfixe test_ par le préfixe demo_ dans le schéma cible. Note Vous pouvez uniquement créer des règles de mappage si les moteurs des bases de données source et cible sont différents. Version 1.0 61 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage Vous pouvez créer des règles de mappage qui effectuent les tâches suivantes : • Modifier le type de données • Déplacer des objets • Renommer des objets • Préfixe - ajouter un préfixe, supprimer un préfixe, remplacer un préfixe • Suffixe - ajouter un suffixe, supprimer un suffixe, remplacer un suffixe Vous pouvez créer des règles de mappage pour les objets suivants : • Base de données • Schéma • Tableau • Colonne Création de règles de mappage Vous pouvez créer des règles de mappage et les enregistrer dans le cadre de votre projet. Avec le projet ouvert, utilisez la procédure suivante pour créer des règles de mappage. Pour créer des règles de mappage 1. Choisissez Mapping Rules dans le menu Settings. La boîte de dialogue Mapping Rules s'affiche. 2. Choisissez Add new rule. Une nouvelle ligne est ajoutée à la liste de règles. 3. Choisissez l'icône de modification pour configurer votre règle. a. Sous Name, entrez un nom unique pour la règle. b. Sous For, choisissez le type d'objet auquel la règle s'applique. c. Sous where, entrez le filtre à appliquer aux objets avant d'appliquer la règle de mappage. La clause Where est évaluée à l'aide d'une clause Like. Vous pouvez entrer un nom exact pour sélectionner un objet, ou spécifier un modèle afin de sélectionner plusieurs objets. Les champs disponibles pour la clause where varient en fonction du type de l'objet. Par exemple, s"il s'agit du type d'objet schéma, un seul champ est disponible pour le nom de schéma. d. Sous Actions, choisissez le type de règle de mappage que vous voulez créer. e. En fonction du type de règle, entrez une ou deux valeurs supplémentaires. Par exemple, pour renommer un objet, entrez le nouveau nom de l'objet. Pour remplacer un préfixe, entrez l'ancien et le nouveau préfixes. 4. Une fois que vous avez configuré votre règle de mappage, choisissez Save pour enregistrer la règle. Vous pouvez également choisir Cancel pour annuler vos modifications. 5. Une fois que vous avez ajouté, modifié ou supprimé les règles, choisissez Save All pour enregistrer toutes vos modifications. 6. Choisissez Close pour fermer la boîte de dialogue Mapping Rules. Vous pouvez utiliser l'icône bascule pour désactiver une règle de mappage sans la supprimer. Vous pouvez utiliser l'icône de copie pour dupliquer une règle de mappage existante. Vous pouvez utiliser l'icône de suppression pour supprimer une règle de mappage existante. Pour enregistrer toutes les modifications apportées à vos règles de mappage, choisissez Save All. Version 1.0 62 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma Affichage des règles de mappage pour les objets Après avoir configuré vos règles de mappage, vous pouvez vérifier leur impact sur des objets spécifiques de votre schéma avant de convertir ce dernier. Dans l'arborescence du schéma source, choisissez l'objet voulu. Dans l'affichage principal, choisissez l'onglet Mapping. L'onglet Mapping s'ouvre et affiche la liste de toutes les règles de mappage appliquées à l'objet. Vous pouvez voir le nom de l'objet dans le schéma source et son nouveau nom dans le schéma cible. Si vous avez des règles de type de données, le type de données de la colonne est également affiché dans le schéma source et son nouveau type de données est affiché dans le schéma cible. Exportation des règles de mappage Si vous utilisez AWS Database Migration Service (AWS DMS) pour migrer vos données de la base de données source vers la base de données cible, vous pouvez fournir des informations sur les règles de mappage à AWS DMS. Pour plus d'informations sur les tâches, consultez Utilisation des tâches de réplication AWS Database Migration Service. Pour exporter des règles de mappage 1. Dans AWS Schema Conversion Tool, dans l'arborescence du schéma source, ouvrez le menu contextuel (clic droit) et choisissez Export script for DMS. La boîte de dialogue d'enregistrement s'affiche. 2. Accédez à l'emplacement où vous souhaitez enregistrer votre script, puis choisissez Save. Vos règles de mappage sont enregistrées sous forme de script JSON pouvant être utilisé par AWS DMS. Conversion de votre schéma en utilisant AWS Schema Conversion Tool Une fois que vous avez connecté votre projet à votre base de données source et à votre base de données cible, votre projet AWS Schema Conversion Tool affiche le schéma de votre base de données source dans le volet gauche. Le schéma est présenté sous forme d'arborescence, et chaque nœud de l'arborescence est « avec chargement différé ». En d'autres termes, lorsque vous sélectionnez un nœud dans l'arborescence, AWS Schema Conversion Tool demande les informations de schéma de votre base de données source à ce moment-là. Vous pouvez choisir des éléments de schéma de votre base de données source, puis convertir le schéma en schéma équivalent pour le moteur de base de données de votre base de données cible. Vous pouvez choisir n'importe quel élément de schéma de votre base de données source de convertir. Si l'élément de schéma que vous choisissez dépend d'un élément parent, puis AWS Schema Conversion Tool génère également le schéma de l'élément parent. Par exemple, si vous choisissez une colonne dans une table de convertir, alors AWS Schema Conversion Tool génère le schéma de la colonne, la table dans laquelle la colonne se trouve et la base de données dans laquelle la table se trouve. Conversion de schémas Pour convertir le schéma de votre base de données source, choisissez l'objet de schéma à convertir dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Convert schema, comme indiqué ci-dessous. Une fois que vous avez converti le schéma de votre base de données source, vous pouvez choisir des éléments de schéma dans le volet gauche de votre projet et afficher le schéma converti dans les panneaux centraux de votre projet. Le panneau situé dans la partie centrale inférieure affiche les propriétés et la commande SQL pour créer le schéma converti, comme illustré ci-après. Version 1.0 63 AWS Schema Conversion Tool Guide de l'utilisateur Gestion et personnalisation des clés Une fois que vous avez converti votre schéma, vous pouvez enregistrer votre projet. Les informations de schéma de votre base de données source sont enregistrées avec votre projet. Cette fonctionnalité signifie que vous pouvez travailler hors ligne sans être connecté à votre base de données source. AWS Schema Conversion Tool se connecte à votre base de données source pour mettre à jour le schéma de votre projet, si vous choisissez Refresh from Database pour votre base de données source. Pour plus d'informations, consultez Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 67). Vous pouvez créer un rapport d'évaluation de la migration de base de données des éléments qui ne peuvent pas être convertis automatiquement. Le rapport d'évaluation est utile pour identifier et résoudre les éléments de schéma qui ne peut pas être convertis automatiquement. Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 65). Lorsqu'AWS Schema Conversion Tool génère un schéma converti, il ne l'applique pas immédiatement à la base de données cible. En revanche, le schéma converti est stocké localement jusqu'à ce que vous soyez prêt à l'appliquer à la base de données cible. Pour plus d'informations, consultez Application de votre schéma converti (p. 68). Modification du schéma converti Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet. Pour modifier le schéma converti 1. 2. 3. Dans le volet gauche qui affiche le schéma de votre base de données source, sélectionnez l'élément pour lequel vous voulez modifier le schéma converti. Dans le volet situé dans la partie centrale inférieure qui affiche le schéma converti pour l'élément sélectionné, choisissez l'onglet SQL. Dans le texte affiché pour l'onglet SQL, modifiez le schéma comme requis. Le schéma est automatiquement enregistré avec votre projet comme vous le mettez à jour. Les modifications que vous apportez au schéma converti sont stockées avec votre projet lorsque vous effectuez des mises à jour. Si vous convertissez nouvellement un élément de schéma de votre base de données source et que vous avez fait des mises à jour de schéma précédemment converti pour cet élément, ces mises à jour existantes sont remplacées par l'élément de schéma nouvellement converti basé sur votre base de données source. Suppression d'un schéma converti Jusqu'à ce que vous appliquiez le schéma à votre base de données cible, AWS Schema Conversion Tool stocke uniquement le schéma converti localement dans votre projet. Vous pouvez supprimer le schéma planifié de votre projet en choisissant le nœud de l'arborescence pour votre base de données cible, puis en choisissant Refresh from Database. Parce qu'aucun schéma n'a été écrit dans votre base de données cible, l'actualisation de la base de données supprime les éléments de schéma planifiés dans votre projet de l'outil de conversion de schéma pour correspondre à ce qui existe dans votre base de données cible. Gestion et personnalisation des clés dans AWS Schema Conversion Tool Une fois que vous convertissez votre schéma, vous pouvez gérer et modifier vos clés. La gestion des clés est le cœur d'une conversion d'entrepôt de données. Pour gérer les clés, sélectionnez une table de votre base de données cible, puis choisissez l'onglet Key Management illustré ci-dessous. Version 1.0 64 AWS Schema Conversion Tool Guide de l'utilisateur Création et utilisation du rapport d'évaluation Le volet de gauche contient des suggestions de clés et comprend l'évaluation de confiance pour chaque suggestion. Vous pouvez choisir une des suggestions, ou vous pouvez personnaliser la clé en l'éditant dans le volet droit. Si les choix de la clé ne ressemblent pas à vos attentes, vous pouvez modifier vos stratégies d'optimisation et retenter la conversion. Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 60). Rubriques connexes • Choix de la meilleure clé de tri • Choisir le meilleur style de distribution Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool Le rapport d'évaluation de la migration de la base de données fournit des informations importantes à propos de la conversion du schéma de votre base de données source à votre base de données cible. Le rapport résume toutes les tâches de conversion de schéma et détaille les éléments d'action de schéma qui ne peuvent pas être convertis vers le moteur de base de données de votre base de données cible. Ce rapport comprend également des estimations des efforts qui devront être fournis pour écrire le code équivalent dans votre base de données cible qui ne peuvent pas être converties automatiquement. Création d'un rapport d'évaluation de migration de la base de données Utilisez la procédure suivante pour créer un rapport d'évaluation de la migration de base de données. Pour créer un rapport d'évaluation de migration de base de données 1. Dans le volet gauche qui affiche le schéma de votre base de données source, choisissez l'objet de schéma pour lequel vous souhaitez créer un rapport d'évaluation. 2. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report. Récapitulatif du rapport d'évaluation Après avoir créé un rapport d'évaluation, l'affichage du rapport d'évaluation s'ouvre et affiche l'onglet Summary. L'onglet Summary affiche un récapitulatif du rapport d'évaluation de migration de base de données. Il indique les éléments qui ont été convertis automatiquement et ceux qui ne l'ont pas été. En ce qui concerne les éléments du schéma qui ne peuvent pas être convertis automatiquement pour le moteur de base de données cible, ce récapitulatif comprend une estimation de l'effort nécessaire pour créer des éléments de schéma dans votre base de données cible équivalents à ceux de votre base de données cible. Ce rapport classe le temps estimé pour convertir ces éléments de schéma de la façon suivante : • Simple – Actions qui peuvent être exécutées en moins d'1 heure. • Moyen – Actions qui sont plus complexes et peuvent être exécutées entre 1 à 4 heures. • Important – Actions qui sont très complexes et dont l'exécution prendra plus de 4 heures. Version 1.0 65 AWS Schema Conversion Tool Guide de l'utilisateur Gestion des conversions manuelles Elément d'action du rapport d'évaluation L'affichage de rapport d'évaluation comprend également un onglet Action Items. Cet onglet contient une liste des éléments qui ne peuvent pas être convertis automatiquement pour le moteur de base de données de votre base de données cible. Si vous sélectionnez un élément d'action dans la liste, AWS Schema Conversion Tool met en évidence l'élément de votre schéma auquel s'applique l'élément d'action. Le rapport contient également des recommandations sur la manière de convertir manuellement l'élément de schéma. Pour plus d'informations sur la façon de gérer les conversions manuelles, consultez Gestion des conversions manuelles dans AWS Schema Conversion Tool (p. 66). Enregistrement du rapport d'évaluation Vous pouvez enregistrer une copie locale du rapport d'évaluation de la migration de la base de données dans un fichier PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier CSV contient uniquement des informations sur l'élément d'action. Le fichier PDF contient les informations sur le récapitulatif et les éléments d'action, comme illustré dans l'exemple suivant. Gestion des conversions manuelles dans AWS Schema Conversion Tool Le rapport d'évaluation inclut une liste des éléments qui ne peuvent pas être convertis automatiquement pour le moteur de base de données de votre base de données cible. Pour chaque élément qui ne peut pas être converti, il y a un élément de l'action sur l'onglet Action Items. Vous pouvez réagir aux éléments d'action du rapport d'évaluation des manières suivantes : • Modifiez votre schéma de base de données source. • Modifiez votre schéma de base de données cible. Modification de votre schéma source Pour certains éléments, il peut être plus facile de modifier le schéma de base de données dans votre base de données source en un schéma qui peut être converti automatiquement. Tout d'abord, vérifiez que les nouvelles modifications sont compatibles avec l'architecture de votre application, puis mettez à jour le schéma dans votre base de données source. Enfin, actualisez votre projet avec les informations de schéma mises à jour. Vous pouvez ensuite convertir le schéma mis à jour et générer un nouveau rapport d'évaluation de la migration de la base de données. Les éléments d'action n'apparaissent plus pour les éléments qui ont été modifiés dans le schéma source. L'avantage de ce processus est que le schéma mis à jour est toujours disponible lors de l'actualisation à parti de votre base de données source. Modification de votre schéma cible Pour certains éléments, il peut être plus facile d'appliquer le schéma converti à votre base de données cible, et d'ajouter ensuite les éléments de schéma équivalent manuellement à votre base de données cible pour les éléments qui n'ont pas pu être convertis automatiquement. Vous pouvez écrire tout le schéma qui peut être converti automatiquement pour votre base de données cible en appliquant le schéma. Pour plus d'informations, consultez Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 67). Le schéma qui est écrit dans votre base de données cible ne contient pas les éléments qui ne peuvent pas être convertis automatiquement. Après avoir appliqué le schéma à votre base de données cible, vous Version 1.0 66 AWS Schema Conversion Tool Guide de l'utilisateur Mise à jour et actualisation de votre schéma converti pouvez alors créer manuellement un schéma dans votre base de données cible qui est équivalent à celui de la base de données source. Les éléments d'action dans le rapport d'évaluation de la migration de base de données contiennent des suggestions sur la façon de créer le schéma équivalent. Caution Si vous créez manuellement le schéma de votre base de données cible, enregistrez une copie de n'importe quel travail manuel que vous faites. Si vous appliquez de nouveau le schéma converti à partir de votre projet à votre base de données cible, il remplace le travail manuel que vous avez terminé. Dans certains cas, vous ne pouvez pas créer de schéma équivalent dans votre base de données cible. Vous devrez reconcevoir une partie de votre application et de votre base de données afin d'utiliser les fonctionnalités disponibles dans le moteur de base de données pour votre base de données cible. Dans d'autres cas, vous pourrez simplement ignorer le schéma qui ne peut pas être converti automatiquement. Rubriques connexes • Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 63) • Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 65) • Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 67) Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool Vous pouvez mettre à jour le schéma source et le schéma cible dans votre projet AWS Schema Conversion Tool. • Source – Si vous mettez à jour le schéma de votre base de données source, AWS Schema Conversion Tool remplace le schéma de votre projet par le dernier schéma de votre base de données source. A l'aide de cette fonctionnalité, vous pouvez mettre à jour votre projet si les modifications ont été apportées au schéma de votre base de données source. • Target – Si vous mettez à jour le schéma de votre base de données cible, AWS Schema Conversion Tool remplace le schéma de votre projet par le dernier schéma de votre base de données cible. Si vous n'avez pas appliqué un schéma à votre base de données cible, AWS Schema Conversion Tool efface le schéma converti de votre projet. Vous pouvez ensuite convertir le schéma de votre base de données source en une base de données cible propre. Vous mettez à jour le schéma dans votre projet AWS Schema Conversion Tool en choisissant Refresh from Database, comme indiqué ci-dessous. Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool Lorsqu'AWS Schema Conversion Tool génère le schéma converti (comme indiqué dans Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 63)), il n'applique pas immédiatement le schéma converti à la base de données cible. Au lieu de cela, le schéma converti est stocké localement dans votre projet jusqu'à ce que vous soyez prêt à l'appliquer à la base de données cible. A l'aide de cette fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas être convertis Version 1.0 67 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement et application de votre schéma automatiquement pour votre moteur de base de données cible. Pour plus d'informations sur les éléments qui ne peuvent pas être convertis automatiquement, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 65). De manière facultative, l'outil peut enregistrer votre schéma converti en un fichier en tant que script SQL avant d'appliquer le schéma à votre base de données cible. Vous pouvez également faire que l'outil applique le schéma converti directement à votre base de données cible. Enregistrement de votre schéma converti en un fichier Vous pouvez enregistrer votre schéma converti sous forme de scripts SQL dans un fichier texte. Grâce à cette approche, vous pouvez modifier les scripts SQL générés à partir d'AWS Schema Conversion Tool pour les éléments que l'outil ne peut pas convertir automatiquement. Vous pouvez ensuite exécuter vos scripts mis à jour sur votre base de données cible pour appliquer votre schéma converti à votre base de données cible. Pour enregistrer votre schéma converti sous forme de scripts SQL, ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Save as SQL, comme indiqué ci-dessous. Application de votre schéma converti Une fois que vous êtes prêt à appliquer votre schéma converti à votre base de données cible, choisissez l'élément de schéma dans le volet droit du projet. Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to database, comme indiqué ci-dessous. Schéma du kit d'extension La première fois que vous appliquez votre schéma converti à votre instance de base de données cible, AWS Schema Conversion Tool ajoute un schéma supplémentaire à cette dernière. Ce schéma met en œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension. Ne modifiez pas ce schéma ou vous risquez d'obtenir des résultats inattendus dans le schéma converti écrit dans l'instance de base de données cible. Lorsque votre schéma est entièrement migré vers l'instance de base de données cible et que vous n'avez plus besoin d'AWS Schema Conversion Tool, vous pouvez supprimer le schéma de kit d'extension. Le schéma de kit d'extension est nommé selon votre base de données source, comme suit : • Greenplum : AWS_GREENPLUM_EXT • Netezza : AWS_NETEZZA_EXT • Oracle: AWS_ORACLE_EXT • Teradata: AWS_TERADATA_EXT Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69). Bibliothèques Python Pour créer des fonctions personnalisées dans Amazon Redshift, vous utilisez le langage Python. Utilisez le kit d'extension AWS Schema Conversion Tool pour installer des bibliothèques Python pour votre base de données Amazon Redshift. Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69). Version 1.0 68 AWS Schema Conversion Tool Guide de l'utilisateur Kit d'extension et bibliothèques Python pour entrepôts de données Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données Lorsque vous convertissez votre schéma d'entrepôt de données, AWS Schema Conversion Tool ajoute un schéma supplémentaire à l'instance de base de données cible. Ce schéma met en œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension. Le schéma de kit d'extension est nommé selon votre base de données source, comme suit : • Greenplum : AWS_GREENPLUM_EXT • Netezza : AWS_NETEZZA_EXT • Oracle: AWS_ORACLE_EXT • Teradata: AWS_TERADATA_EXT Dans les deux cas suivants, vous pouvez installer le kit d'extension manuellement : • Vous avez supprimé accidentellement le schéma de base de données du kit d'extension de votre base de données cible. • Vous voulez télécharger des bibliothèques Python personnalisées pour émuler des fonctions de base de données. Utilisation de services AWS pour télécharger des bibliothèques Python personnalisées Dans certains cas, les fonctions de base de données source ne peuvent pas être converties en fonctions Amazon Redshift équivalentes. AWS Schema Conversion Tool contient une bibliothèque Python personnalisée qui émule quelques fonctions de base de données source sur Amazon Redshift. L'assistant du kit d'extension AWS Schema Conversion Tool vous permet d'installer la bibliothèque Python personnalisée. Avant de commencer Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en route avec AWS Schema Conversion Tool (p. 9). Avant d'installer le kit d'extension, vous devez convertir votre schéma de base de données. Pour plus d'informations, consultez Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58). Application du kit d'extension Utilisez la procédure suivante pour appliquer le kit d'extension. Version 1.0 69 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour appliquer le kit d'extension 1. Dans AWS Schema Conversion Tool, dans l'arborescence de base de données cible, ouvrez le menu contexte (clic droit) et choisissez Apply Extension Pack. 2. L'assistant Kit d'extension s'affiche. Lisez la page d'accueil, puis choisissez Next. 3. Dans la page AWS Services Settings, procédez comme suit : • Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez Skip this step for now, puis Next. • Si vous téléchargez la bibliothèque Python, fournissez les informations d'identification requises pour vous connecter à votre compte AWS. Vous pouvez utiliser vos informations d'identification AWS Command Line Interface (AWS CLI) si vous avez installé l'interface de ligne de commande (AWS CLI). Vous pouvez également utiliser les informations d'identification précédemment stockées dans un profil dans les paramètres globaux de l'application et associées au projet. Le cas échéant, choisissez Navigate to Project Settings pour associer un autre profil au projet. Le cas échéant, choisissez Global Settings pour créer un profil. Pour plus d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 87). 4. 5. Dans la page Python Library Upload, procédez comme suit : • Si vous réinstallez le schéma de base de données du kit d'extension uniquement, choisissez Skip this step for now, puis Next. • Si vous téléchargez la bibliothèque Python, indiquez le chemin d'accès Amazon S3 puis choisissez Upload Library to S3. Lorsque vous avez terminé, cliquez sur Next. Dans la page Functions Emulation, choisissez Create Extension Pack. Des messages affichent l'état des opérations du kit d'extension. Lorsque vous avez terminé, choisissez Finish. Rubriques connexes • Prise en charge du langage Python pour les fonctions UDF Version 1.0 70 AWS Schema Conversion Tool Guide de l'utilisateur Utilisation des agents de migration de données Utilisation des agents de migration de données Vous pouvez utiliser des agents de migration de données pour extraire des données de votre entrepôt de données en vue de leur migration vers Amazon Redshift. Pour gérer les agents de migration de données, vous pouvez utiliser AWS Schema Conversion Tool. Les agents de migration de données peuvent fonctionner en arrière-plan tandis qu'AWS Schema Conversion Tool est fermé. Les agents de migration de données sont actuellement pris en charge pour les entrepôts de données source suivants : • Oracle (version 11 ou ultérieure) • Teradata (version 15 ou ultérieure) Une fois que vos données ont été extraites par vos agents, vous pouvez les transférer vers un compartiment Amazon Simple Storage Service (Amazon S3). A partir de là, vous pouvez les charger dans Amazon Redshift. Installation des agents de migration Nous vous recommandons d'installer plusieurs agents de migration et d'effectuer ces installations sur des ordinateurs autres que l'ordinateur qui exécute AWS Schema Conversion Tool. Les agents de migration sont actuellement pris en charge sur les systèmes d'exploitation suivants : • Ubuntu Linux (versions 14.04 et ultérieures) • Fedora Linux Utilisez la procédure suivante pour installer des agents de migration. Répétez cette procédure pour chaque ordinateur sur lequel vous souhaitez installer un agent de migration. Pour installer un agent de migration 1. Le fichier .zip qui contient le fichier du programme d'installation d'AWS Schema Conversion Tool contient également le fichier du programme d'installation de l'agent de migration. Si vous n'avez pas encore téléchargé le fichier du programme d'installation d'AWS Schema Conversion Tool, suivez les instructions décrites dans Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) pour le télécharger. 2. Recherchez le fichier du programme d'installation de l'agent de migration dans un sous-dossier nommé agents. Recherchez le fichier du programme d'installation correspondant au système d'exploitation de l'ordinateur sur lequel vous souhaitez installer l'agent de migration, comme illustré ci-après. Système d'exploitation Nom de fichier Ubuntu Linux aws-schema-conversion-tool-extractor-1.0.build-number.deb Fedora Linux aws-schema-conversion-tool-extractor-1.0.buildnumber.x86_64.rpm 3. Pour installer l'agent de migration sur un ordinateur distinct, copiez le fichier du programme d'installation vers ce dernier. 4. Exécutez le fichier du programme d'installation. Suivez les instructions ci-dessous correspondant à votre système d'exploitation. Version 1.0 71 AWS Schema Conversion Tool Guide de l'utilisateur Installation des agents Système d'exploitation Instructions d'installation Ubuntu Linux Exécutez la commande suivante dans le dossier où vous avez téléchargé ou déplacé le fichier : sudo dpkg -i aws-schema-conversion-tool-extractor-1.0.buildnumber.deb Fedora Linux Exécutez la commande suivante dans le dossier où vous avez téléchargé ou déplacé le fichier : sudo rpm -ivh aws-schema-conversion-tool-extractor-1.0.buildnumber.x86_64.rpm 5. Installez les pilotes Java Database Connectivity (JDBC) pour votre moteur de base de données source. Vous trouverez des instructions et des liens de téléchargement à la page Installation des pilotes de base de données requis (p. 6). Suivez les instructions qui concernent uniquement votre moteur de base de données source et pas celles qui s'appliquent à votre moteur de base de données cible. 6. Poursuivez l'installation de votre agent de migration en exécutant la procédure décrite dans la section ci-après. Paramètres de sécurité AWS Schema Conversion Tool et les agents de migration peuvent communiquer via SSL (Secure Sockets Layer). Pour activer SSL, configurez un référentiel d'approbations et un magasin de clés. Pour configurer la communication avec votre agent de migration 1. Démarrer AWS Schema Conversion Tool. 2. Ouvrez le menu Settings, puis choisissez Global Settings. La boîte de dialogue Global settings s'affiche. Choisissez l'onglet Security. 3. Choisissez Generate Trust and Key Store ou Select existing Trust and Key Store. Si vous choisissez Generate Trust and Key Store, indiquez le nom et le mot de passe du référentiel d'approbations et du magasin de clés, ainsi que le chemin d'accès à l'emplacement du fichier généré. Un fichier .zip contenant les fichiers de référentiel d'approbations et de magasin de clés est généré. Vous utiliserez ces fichiers au cours d'étapes ultérieures. Si vous choisissez Select existing Trust and Key Store, indiquez le mot de passe et le nom de fichier du référentiel d'approbations et du magasin de clés. Vous utiliserez ces fichiers au cours d'étapes ultérieures. 4. Une fois le référentiel d'approbations et le magasin de clés spécifiés, choisissez OK pour fermer la boîte de dialogue Global Settings. 5. Copiez le fichier .zip ou les fichiers individuels vers l'ordinateur sur lequel l'agent de migration est installé. Si vous copiez le fichier .zip vers le nouvel ordinateur, extrayez les fichiers individuels de ce fichier .zip sur le nouvel ordinateur. Vous pouvez placer les fichiers où vous voulez, cela dit, vous devez prendre note de leurs emplacements car vous devrez indiquer ultérieurement à l'agent où trouver ces fichiers. Répétez cette étape pour chaque ordinateur sur lequel un agent de migration est installé. 6. Poursuivez l'installation de votre agent de migration en exécutant la procédure décrite dans la section ci-après. Version 1.0 72 AWS Schema Conversion Tool Guide de l'utilisateur Installation des agents Paramètres d'agent de migration Utilisez la procédure suivante pour configurer des agents de migration. Répétez cette procédure sur chaque ordinateur sur lequel un agent de migration est installé. Pour configurer votre agent de migration 1. Depuis l'emplacement où vous avez installé l'agent, exécutez le fichier sct-extractor-setup.sh. Le programme de configuration vous invite à fournir des informations. Pour chaque invite, une valeur par défaut apparaît entre crochets. Choisissez Entrée pour accepter la valeur par défaut ou tapez une nouvelle valeur, puis choisissez Entrée. Spécifiez les informations suivantes : • Le moteur de l'entrepôt de données. • Le numéro de port sur lequel l'agent est en mode écoute. • L'emplacement où vous avez installé les pilotes JDBC. • Le dossier de travail. Les données que vous avez extraites sont placées dans un sous-dossier de cet emplacement. Le dossier de travail peut figurer sur un autre ordinateur que celui où est installé l'agent et un même dossier de travail peut être partagé par plusieurs agents installés sur différents ordinateurs. Dans ce cas, spécifiez un numéro de port distinct pout chaque agent. • L'emplacement du fichier de magasin de clés. • Le mot de passe du magasin de clés. • L'emplacement du fichier de référentiel d'approbations. • Le mot de passe du référentiel d'approbations. Le programme de configuration met à jour le fichier de paramètres de l'agent de migration. Le fichier de paramètres se nomme Settings.properties et se trouve à l'emplacement où vous avez installé l'agent de migration. Vous trouverez ci-dessous un exemple de fichier de paramètres. port=8888 vendor=ORACLE driver.jars=<driver path>/Install/Drivers/ojdbc7.jar location=<output path>/dmt/8888/out extractor.log.folder=<log path>/dmt/8888/log extractor.storage.folder=<storage path>/dmt/8888/storage extractor.start.fetch.size=20000 extractor.out.file.size=10485760 ssl.option=OFF #ssl.option=ON #ssl.keystore.path=<key store path>/dmt/8888/vault/keystore #ssl.truststore.path=<trust store path>/dmt/8888/vault/truststore 2. Poursuivez l'installation de votre agent de migration en exécutant la procédure décrite dans la section ci-après. Démarrage des agents de migration Utilisez la procédure suivante pour démarrer des agents de migration. Répétez cette procédure sur chaque ordinateur sur lequel un agent de migration est installé. Pour démarrer votre agent de migration 1. Sur l'ordinateur où l'agent de migration a été installé, exécutez la commande suivante pour démarrer ce dernier. Version 1.0 73 AWS Schema Conversion Tool Guide de l'utilisateur Gestion des agents Système d'exploitation Commande de démarrage Ubuntu Linux Exécutez la commande suivante dans le chemin d'accès au dossier où vous avez installé l'agent. Utilisez la commande appropriée pour votre version d'Ubuntu. Ubuntu 14.04: sudo initctl start sct-extractor Ubuntu 15.04 et versions ultérieures : sudo systemctl start sctextractor Fedora Linux Exécutez la commande suivante dans le chemin d'accès au dossier où vous avez installé l'agent : sudo initctl start sct-extractor 2. 3. Pour vérifier le statut de l'agent, exécutez la même commande en remplaçant start par status. Pour arrêter un agent, exécutez la même commande en remplaçant start par stop. Gestion des agents de migration Vous gérez vos agents de migration en utilisant AWS Schema Conversion Tool. Les agents de migration agissent en tant qu'écouteurs. Lorsqu'ils reçoivent des instructions d'AWS Schema Conversion Tool, ils extraient des données de votre entrepôt de données. Utilisez la procédure suivante pour enregistrer des agents de migration auprès de votre projet AWS Schema Conversion Tool. Pour enregistrer un agent de migration 1. Démarrez AWS Schema Conversion Tool et ouvrez un projet. a. Ouvrez un projet existant ou créez-en un. Pour plus d'informations, consultez Création d'un projet AWS Schema Conversion Tool (p. 10). b. Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion à la base de données source (p. 11). Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Connexion à votre base de données cible (p. 11). Convertissez votre schéma. Cette étape est facultative, toutefois, le processus d'extraction peut générer une sortie optimisée lorsqu'il connaît le schéma cible. Pour plus d'informations, consultez Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58). c. d. 2. Ouvrez le menu View, puis choisissez Data Migration View. L'onglet Agents s'affiche. Si vous avez déjà enregistré des agents, ces derniers apparaissent dans une grille située dans la partie supérieure de l'onglet. 3. Choisissez Register. La boîte de dialogue New Agent Registration s'affiche. Note 4. Une fois que vous avez enregistré un agent auprès d'un projet AWS Schema Conversion Tool, vous ne pouvez pas enregistrer ce même agent auprès d'un autre projet. Si vous n'utilisez plus un agent dans un projet AWS Schema Conversion Tool, vous pouvez annuler son enregistrement, puis l'enregistrer auprès d'un autre projet. Saisissez vos informations dans la boîte de dialogue New Agent Registration : a. Dans Description, tapez une description de l'agent. Version 1.0 74 AWS Schema Conversion Tool Guide de l'utilisateur Sortie d'agent b. Pour Host Name, tapez le nom d'hôte ou l'adresse IP de l'ordinateur sur lequel l'agent est installé. c. Dans Port, tapez le numéro de port sur lequel l'agent est en mode écoute. d. Choisissez Register pour enregistrer l'agent auprès de votre projet AWS Schema Conversion Tool. 5. Répétez les étapes précédentes pour enregistrer plusieurs agents auprès de votre projet AWS Schema Conversion Tool. 6. Continuez avec la procédure suivante pour affecter des tâches de migration de données à vos agents. Pour affecter des tâches à des agents et migrer des données 1. Choisissez une ou plusieurs tables dans le volet gauche de votre projet. Vous pouvez choisir toutes les tables, cependant, nous ne recommandons pas cette pratique car elle risque d'altérer les performances. Nous vous recommandons de créer plusieurs tâches pour plusieurs tables en fonction de la taille de ces dernières dans votre entrepôt de données. 2. Ouvrez le menu contextuel (clic droit) des tables, puis choisissez Create Task. 3. Répétez les étapes précédentes afin de créer des tâches pour toutes les données que vous souhaitez migrer. 4. Continuez avec la procédure suivante pour exécuter et surveiller des tâches. Pour exécuter et surveiller des tâches 1. Ouvrez le menu View, puis choisissez Data Migration View. L'onglet Agents s'affiche. 2. Choisissez l'onglet Tasks. Vos tâches apparaissent dans la grille supérieure. 3. Sélectionnez une tâche dans la grille supérieure. Vous pouvez voir le statut de la tâche dans la grille supérieure et le statut de ses sous-tâches dans la grille inférieure. 4. Pour exécuter une tâche, choisissez Start. Vous pouvez surveiller le statut de vos tâches pendant leur exécution. Vous pouvez également fermer AWS Schema Conversion Tool. Dans ce cas, vos agents et vos tâches continuent de s'exécuter. Vous pouvez ensuite rouvrir AWS Schema Conversion Tool et vérifier le statut de vos tâches. Sortie d'agent de migration Une fois vos tâches de migration terminées, vos données sont prêtes. Les agents de migration enregistrent vos données en tant que fichiers. Les fichiers de données sont compressés, mais pas chiffrés. Vous devez copier manuellement les fichiers de données vers votre compartiment Amazon S3. Copiez les données depuis le dossier de sortie situé sous le dossier de travail que vous avez spécifié pour vos agents. Etapes suivantes Après avoir copié vos fichiers de données vers Amazon S3, vous pouvez charger les données dans Amazon Redshift. Vous pouvez utiliser la commande COPY Amazon Redshift pour charger vos données dans Amazon Redshift. Pour plus d'informations, consultez Chargement de données à partir de Amazon S3 dans la documentation Amazon Redshift. Bonnes pratiques et dépannage Voici quelques bonnes pratiques et suggestions de dépannage relatives à l'utilisation des agents de migration : Version 1.0 75 AWS Schema Conversion Tool Guide de l'utilisateur Bonnes pratiques et dépannage • Nous vous recommandons d'installer plusieurs agents afin d'améliorer les performances. • Si un nombre trop élevé d'agents accède simultanément à votre entrepôt de données, des délais d'attente en cas de conflit peuvent être générés. • Vous pouvez installer des agents sur des ordinateurs proches de votre entrepôt de données afin d'améliorer les performances. • Nous vous recommandons de ne pas exécuter toutes les tables dans une seule tâche d'agent, car cela risquerait d'altérer les performances. • Si un agent s'arrête, chacune de ses tâches apparaît comme ayant échoué dans AWS Schema Conversion Tool. Si vous attendez un peu, il arrive parfois qu'une reprise de l'agent se produise. Dans ce cas, le statut de ses tâches est mis à jour dans AWS Schema Conversion Tool. • Si l'ordinateur qui exécute un agent s'arrête de façon définitive alors que celui-ci est en train d'exécuter une tâche, vous pouvez remplacer cet agent par un autre afin de poursuivre l'exécution de la tâche. Installez un agent sur un nouvel ordinateur et configurez-le avec les mêmes paramètres, y compris le numéro de port et le dossier de travail, que l'agent d'origine. La tâche peut découvrir le nouvel agent disponible et se poursuivre. Version 1.0 76 AWS Schema Conversion Tool Guide de l'utilisateur Optimisation d'Amazon Redshift Optimisation d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool Vous pouvez utiliser AWS Schema Conversion Tool pour optimiser votre base de données Amazon Redshift. Lors de l'utilisation de votre base de données Amazon Redshift comme source et d'une base de données Amazon Redshift de test comme cible, AWS Schema Conversion Tool recommande d'avoir recours à des clés de tri et de distribution pour optimiser votre base de données. Avant de commencer Presque toutes les tâches que vous exécutez avec AWS Schema Conversion Tool commencent par les mêmes trois étapes. Effectuez les étapes suivantes avant d'optimiser votre base de données Amazon Redshift : 1. Créez un projet AWS Schema Conversion Tool Pour plus d'informations, consultez Création d'un projet AWS Schema Conversion Tool (p. 10). 2. Connectez-vous à votre base de données source. Pour plus d'informations, consultez Connexion à une base de données source Amazon Redshift avec AWS Schema Conversion Tool (p. 31). 3. Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Connexion à votre base de données cible (p. 11). Important N'utilisez pas le même cluster pour la source et la cible de l'optimisation. Avant d'optimiser la base de données Amazon Redshift, vous devez également choisir vos stratégies d'optimisation. Pour plus d'informations, consultez Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 60). Optimisation de la base de données Amazon Redshift Utilisez la procédure suivante pour optimiser votre base de données Amazon Redshift. Pour optimiser votre base de données Amazon Redshift 1. Prenez un instantané manuel de votre cluster Amazon Redshift en guise de sauvegarde. Vous pouvez le supprimer une fois que vous avez terminé l'optimisation du cluster Amazon Redshift et que vous avez testé toutes les modifications effectuées. Pour plus d'informations, consultez Instantanés Amazon Redshift. 2. Choisissez l'objet de schéma à convertir dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) de l'objet, puis choisissez Collect Statistics. AWS Schema Conversion Tool utilise les statistiques pour faire des suggestions pour des clés de tri et de distribution. 3. Choisissez l'objet de schéma à optimiser dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) de l'objet, puis choisissez Run Optimization. AWS Schema Conversion Tool fait des suggestions pour les clés de tri et de distribution. 4. Pour passer en revue les suggestions, développez le nœud de tables sous votre schéma dans le volet gauche de votre projet, puis choisissez une table. Choisissez l'onglet Key Management comme illustré ci-après. Version 1.0 77 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 5. Le volet de gauche contient des suggestions de clés et comprend l'évaluation de confiance pour chaque suggestion. Vous pouvez choisir une des suggestions, ou vous pouvez personnaliser la clé en l'éditant dans le volet droit. Vous pouvez créer un rapport contenant les suggestions d'optimisation. Pour créer le rapport, procédez comme suit : a. b. c. 6. Choisissez l'objet de schéma que vous avez optimisé dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) pour l'objet, puis choisissez Create Report. Le rapport s'ouvre dans la fenêtre principale et l'onglet Summary s'affiche. Le nombre d'objets comportant des suggestions d'optimisation s'affiche dans le rapport. Choisissez l'onglet Action Items pour afficher les suggestions de clés sous forme de rapport. Vous pouvez enregistrer une copie locale du rapport d'optimisation dans un fichier PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier CSV contient uniquement des informations sur l'élément d'action. Le fichier PDF contient à la fois le récapitulatif et les informations sur les éléments d'action. Pour appliquer les optimisations proposées pour votre base de données, choisissez un objet dans le volet droit de votre projet. Ouvrez le menu contextuel (clic droit) de l'objet, puis choisissez Apply to database. Rubriques connexes • Choix de la meilleure clé de tri • Choisir le meilleur style de distribution • Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 78 AWS Schema Conversion Tool Guide de l'utilisateur Avant de commencer Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool AWS Database Migration Service (AWS DMS) est un service web qui vous permet de migrer les données vers et depuis la plupart des bases de données commerciales et open source largement utilisées. Vous pouvez utiliser AWS Schema Conversion Tool pour créer des points de terminaison et des tâches AWS DMS. Vous pouvez exécuter et surveiller les tâches à partir d'AWS Schema Conversion Tool. Pour plus d'informations sur AWS DMS, consultez la section Présentation d'AWS Database Migration Service dans le manuel de l'utilisateur AWS DMS. Avant de commencer Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en route avec AWS Schema Conversion Tool (p. 9). Comme AWS DMS interagit avec le schéma cible, vous devez convertir votre schéma de base de données avant l'intégration à AWS DMS. Pour convertir votre schéma de base de données, consultez Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46). Informations d'identification pour l'utilisation d'AWS DMS Pour créer des tâches AWS DMS, AWS Schema Conversion Tool doit se connecter à AWS DMS avec vos informations d'identification. Vous pouvez utiliser des informations d'identification que vous avez Version 1.0 79 AWS Schema Conversion Tool Guide de l'utilisateur Création d'une tâche précédemment stockées dans les paramètres globaux de l'application et associées au projet. Pour plus d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 87). Création d'une tâche AWS DMS Une fois que vous avez utilisé AWS Schema Conversion Tool pour convertir votre schéma de base de données, vous pouvez créer des tâches AWS DMS. Utilisez la procédure suivante pour créer une tâche AWS DMS. Pour créer une tâche AWS DMS 1. Dans AWS Schema Conversion Tool, choisissez un objet de base de données ou de schéma dans le volet gauche de votre projet. Ouvrez le menu contextuel (clic droit) de l'objet, puis choisissez Create DMS Task. La boîte de dialogue Create DMS task s'affiche. 2. 3. Sous Task name, entrez un nom pour votre tâche. Sous Replication instance, sélectionnez l'instance de réplication que vous souhaitez utiliser. Pour plus d'informations, consultez Instances de réplication pour AWS Database Migration Service. 4. Sous Source endpoint, choisissez un point de terminaison existant. Vous pouvez également choisir Create new pour créer un point de terminaison. Lorsque vous choisissez Create new, un nouveau point de terminaison est créé pour vous à l'aide des informations de connexion actuelles. Vous pouvez vérifier les informations de connexion et nommer le point de terminaison avant sa création. Sous Target endpoint, choisissez un point de terminaison existant. Vous pouvez également choisir Create new pour créer un point de terminaison. Lorsque vous choisissez Create new, un nouveau point de terminaison est créé pour vous à l'aide des informations de connexion actuelles. Vous pouvez vérifier les informations de connexion et nommer le point de terminaison avant sa création. Sous Inclure les colonnes LOB dans la réplication, choisissez Ne pas inclure les colonnes LOB, Mode LOB complet ou Mode LOB limité. Pour plus d'informations, consultez Prise en charge de LOB pour les bases de données source. 5. 6. 7. 8. Sous Taille de bloc du LOB (ko), entrez la taille de bloc du LOB en kilo-octets. Sélectionnez Activer la journalisation pour activer la journalisation pour la tâche. 9. Choisissez Preview JSON pour afficher le fichier JSON créé pour la tâche. 10. Choisissez Save JSON pour enregistrer une copie du ficher JSON créé pour la tâche. 11. Une fois que vous avez configuré votre tâche, choisissez Créer pour enregistrer la tâche. Vous pouvez également choisir Fermer pour annuler vos modifications. Exécution et surveillance d'une tâche AWS DMS Après avoir créé des tâches AWS DMS, vous pouvez les exécuter et les surveiller dans la vue de migration des données. Utilisez la procédure suivante pour exécuter et surveiller vos tâches AWS DMS. Pour exécuter et surveiller vos tâches AWS DMS 1. 2. 3. Ouvrez le menu View, puis choisissez Data Migration View. Dans la liste des tâches, choisissez celle que vous souhaitez exécuter. Choisissez Start pour exécuter la tâche. La colonne Status affiche l'état de la tâche. Lors de l'exécution d'une tâche, vous pouvez choisir les actions suivantes : • Choisissez Stop pour arrêter une tâche. • Choisissez Resume pour reprendre une tâche. Version 1.0 80 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 4. Choisissez Delete pour supprimer une tâche. 5. Choisissez Refresh pour actualiser la liste des tâches. La colonne Status affiche l'état actuel de chaque tâche. Choisissez Show Log pour afficher le journal des tâches. Si vous avez sélectionné Enable logging lors de la création de la tâche, le journal des tâches affiche les informations du journal. 6. Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Utilisation des tâches de réplication AWS Database Migration Service • Surveillance des tâches AWS Database Migration Service Version 1.0 81 AWS Schema Conversion Tool Guide de l'utilisateur Avant de commencer Conversion d'Application SQL en utilisant AWS Schema Conversion Tool Lorsque vous convertissez votre schéma de base de données à partir d'un moteur à un autre, vous devez également mettre à jour le code SQL dans vos applications pour interagir avec le nouveau moteur de base de données au lieu de l'ancien. Vous pouvez aussi utiliser AWS Schema Conversion Tool pour convertir le code SQL dans votre code d'application C++, C#, Java ou autre. Vous pouvez afficher, analyser, modifier et enregistrer le code SQL converti. Avant de commencer Presque toutes les tâches que vous le faites avec AWS Schema Conversion Tool commence par les trois étapes suivantes : 1. Créez un projet AWS Schema Conversion Tool 2. Connectez-vous à votre base de données source. 3. Connectez-vous à votre base de données cible. Si vous n'avez pas encore créé un projet AWS Schema Conversion Tool, consultez la rubrique Mise en route avec AWS Schema Conversion Tool (p. 9). Etant donné que le code SQL dans votre application interagit avec votre schéma de base de données, vous devez convertir votre schéma de base de données avant de pouvoir convertir votre SQL d'application. Pour convertir votre schéma de base de données, utilisez les procédures décrites dans l'une des rubriques suivantes : • Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46) Version 1.0 82 AWS Schema Conversion Tool Guide de l'utilisateur Présentation de la conversion de code SQL d'application • Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58) Présentation de la conversion de code SQL d'application Pour convertir le code SQL dans votre application, vous effectuez les étapes détaillées suivantes : • Create an application conversion project – Le projet de conversion d'application est un enfant du projet de conversion du schéma de base de données. Chaque projet de conversion de schéma de base de données peut avoir un ou plusieurs projets de conversion d'application enfant. Pour plus d'informations, consultez Création de projets de conversion d'application dans AWS Schema Conversion Tool (p. 83). • Analyze and convert your SQL code – AWS Schema Conversion Tool analyse votre application, extrait le code SQL et crée une version locale du SQL converti pour vous permettre de le vérifier et le modifier. L'outil ne change pas le code de votre application jusqu'à ce que vous soyez prêt. Pour plus d'informations, consultez Analyse et conversion de votre code de SQL à l'aide d'AWS Schema Conversion Tool (p. 84). • Create an application assessment report – Le rapport d'évaluation d'application fournit des informations importantes à propos de la conversion du code SQL d'application à partir de votre schéma de base de données source vers votre schéma de base de données cible. Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation (p. 85). • Edit, apply changes to, and save your converted SQL code – Le rapport d'évaluation inclut une liste des éléments de code SQL qui ne peuvent pas être convertis automatiquement. Pour ces éléments, vous pouvez modifier le code SQL manuellement pour exécuter la conversion. Pour plus d'informations, consultez Modification et enregistrement de votre Code SQL converti avec AWS Schema Conversion Tool (p. 85). Création de projets de conversion d'application dans AWS Schema Conversion Tool Le projet de conversion d'application est un enfant du projet de conversion du schéma de base de données. Chaque projet de conversion de schéma de base de données peut avoir un ou plusieurs projets de conversion d'application enfant. Utilisez la procédure suivante pour créer un projet de conversion d'application. Pour créer un projet de conversion d'application 1. Dans AWS Schema Conversion Tool, choisissez New Application du menu Applications. La boîte de dialogue New application conversion project s'affiche. Version 1.0 83 AWS Schema Conversion Tool Guide de l'utilisateur Analyse et conversion de votre code SQL 2. Ajoutez les informations du projet suivantes. Pour ce paramètre Procédez comme suit Application Project Name Saisissez un nom pour votre projet de conversion d'application. Chaque projet de conversion du schéma de base de données peut avoir un ou plusieurs projets de conversion d'application enfant. Choisissez par conséquent un nom logique si vous ajoutez plus de projets plus tard. Emplacement Saisissez l'emplacement du code source pour votre application. Project language Choisissez l'une des méthodes suivantes : • JAVA • C++ • C# • Any Style de paramètre SQL pour la base de données cible Choisissez l'une des méthodes suivantes : • Same as in source • Positional (?) • Indexed (:1) • Indexed ($1) • Named (@name) • Named (:name) Select source database schema Dans l'arborescence source, sélectionnez le schéma utilisé par votre code d'application. 3. 4. 5. Choisissez OK pour créer votre projet de conversion d'application. La fenêtre de projet s'ouvre. La première fois que vous créez un projet de conversion d'application, la fenêtre de projet s'ouvre automatiquement. Pour ouvrir un projet de conversion d'application existant, sélectionnez le nœud du projet dans l'arborescence source, ouvrez le menu contextuel (clic droit) et choisissez Manage application. Vous pouvez ajouter des projets de conversion d'application supplémentaires en choisissant New Application dans le menu Applications, ou en sélectionnant le nœud Applications dans l'arborescence source, en ouvrant le menu contextuel (clic droit), puis en choisissant Add application. Analyse et conversion de votre code de SQL à l'aide d'AWS Schema Conversion Tool Utilisez la procédure suivante pour analyser et convertir votre code SQL. Pour analyser et convertir votre code SQL 1. Dans le projet de conversion d'application, sélectionnez Analyze. AWS Schema Conversion Tool analyse votre code d'application et extrait le code SQL. Une liste de tous les codes SQL extraits s'affiche dans le volet Parsed SQL Scripts au bas de la fenêtre. L'élément sélectionné dans la liste apparaît également dans le volet Extracted SQL script. Version 1.0 84 AWS Schema Conversion Tool Guide de l'utilisateur Création et utilisation du rapport d'évaluation 2. Vous pouvez analyser chaque élément de code SQL dans la liste et lorsque vous êtes prêt, cliquez sur Convert pour convertir le SQL en SQL pour votre base de données cible. Note Vous pouvez modifier le code converti SQL dans une procédure ultérieure. Création et utilisation du rapport d'évaluation Le rapport d'évaluation d'application fournit des informations importantes à propos de la conversion du code SQL d'application à partir de votre schéma de base de données source à votre schéma de base de données cible. Le rapport détaille tout le code SQL extrait de l'application, tout le code SQL converti et les éléments d'action pour SQL qui ne peut pas être converti. Le rapport inclut également des estimations de la quantité d'effort qu'il faudra pour convertir manuellement le code SQL qui ne peut pas être converti automatiquement. Création d'un rapport d'évaluation d'application Utilisez la procédure suivante pour créer un rapport d'évaluation d'application. Pour créer un rapport d'évaluation d'application 1. Dans la fenêtre de projet de conversion d'application, choisissez Create Report dans le menu Actions. 2. Le rapport est créé et s'affiche dans la fenêtre de projet de conversion d'application. Vérifiez l'onglet Summary. L'onglet Summary illustré ci-dessous, affiche les informations résumées du rapport d'évaluation d'application. Il indique les éléments du code SQL qui ont été convertis automatiquement et ceux qui ne l'ont pas été. 3. 4. Choisissez l'onglet SQL Conversion Actions et vérifiez les informations. L'onglet SQL Conversion Actions contient une liste d'éléments de code SQL qui ne peuvent pas être converties automatiquement. Il existe également des recommandations sur la manière de convertir le code SQL manuellement. Vous modifiez votre code SQL converti à une étape ultérieure. Pour plus d'informations, consultez Modification et enregistrement de votre Code SQL converti avec AWS Schema Conversion Tool (p. 85). Vous pouvez enregistrer une copie locale du rapport d'évaluation d'application dans un fichier PDF ou un fichier de valeurs séparées par des virgules (CSV). Le fichier PDF contient à la fois le récapitulatif et les informations sur les éléments d'action. Le fichier CSV contient uniquement des informations sur l'élément d'action. Modification et enregistrement de votre Code SQL converti avec AWS Schema Conversion Tool Le rapport d'évaluation inclut une liste des éléments de code SQL qui ne peuvent pas être convertis automatiquement. Pour chaque élément qui ne peut pas être converti, il y a un élément d'action dans l'onglet SQL Conversion Actions. Pour ces éléments, vous pouvez modifier le code SQL manuellement pour exécuter la conversion. Utilisez la procédure suivante pour modifier votre code SQL converti, appliquer les modifications et les enregistrer. Version 1.0 85 AWS Schema Conversion Tool Guide de l'utilisateur Modification et enregistrement de votre code SQL converti Pour modifier, appliquer des modifications à votre code converti de SQL et l'enregistrer 1. 2. 3. Modifiez votre code SQL converti directement dans le volet Target SQL script. S'il n'y a aucun code converti affiché, vous pouvez cliquer dans le volet et commencer à taper. Une fois que vous avez terminé de modifier votre code SQL converti, choisissez Apply. A ce stade, les modifications sont enregistrées dans la mémoire, mais pas encore écrites dans votre fichier. Choisissez Save pour enregistrer vos modifications dans votre fichier. Important Lorsque vous choisissez Save, vous remplacez votre fichier d'origine. Faites une copie de votre fichier d'origine avant d'enregistrer afin de conserver un enregistrement de votre code d'application d'origine. Version 1.0 86 AWS Schema Conversion Tool Guide de l'utilisateur Stockage d'informations d'identification AWS Stockage de profils AWS dans AWS Schema Conversion Tool Vous pouvez stocker vos informations d'identification AWS dans AWS Schema Conversion Tool. AWS Schema Conversion Tool se sert de vos informations d'identification lorsque vous utilisez des fonctions qui s'intègrent aux services AWS. Par exemple, AWS Schema Conversion Tool s'intègre à Amazon S3, AWS Lambda et AWS Database Migration Service. AWS Schema Conversion Tool demande vos informations d'identification AWS lorsque vous accédez à une fonction qui requiert ces informations. Vous pouvez stocker vos informations d'identification dans les paramètres globaux de l'application. Ainsi, lorsque AWS Schema Conversion Tool les demande, vous pouvez sélectionner celles déjà enregistrées. Vous pouvez stocker plusieurs ensembles d'informations d'identification AWS dans les paramètres globaux de l'application. Par exemple, il est possible de stocker un ensemble d'informations d'identification que vous utilisez dans les scénarios de test et un second, utilisé dans les scénarios de production. Vous pouvez également stocker des informations d'identification différentes selon les régions AWS. Stockage d'informations d'identification AWS Utilisez la procédure suivante pour stocker les informations d'identification AWS de manière globale. Pour stocker les informations d'identification AWS 1. 2. 3. 4. Démarrer AWS Schema Conversion Tool. Ouvrez le menu Settings, puis choisissez Global Settings. La boîte de dialogue Global settings s'affiche. Choisissez l'onglet AWS Service Profiles. Choisissez Add new AWS Service Profile. Une nouvelle ligne est ajoutée à la liste de profils. Choisissez l'icône de modification pour configurer votre profil. a. Sous Profile name, entrez un nom pour le profil. b. c. d. Sous AWS Access Key, entrez votre clé d'accès AWS. Sous AWS Secret Key, entrez votre clé secrète AWS. Sous Region, choisissez une région pour le profil. Version 1.0 87 AWS Schema Conversion Tool Guide de l'utilisateur Définition du profil par défaut pour un projet 5. Choisissez Test Connection pour vérifier que vos informations d'identification sont correctes et actives. 6. Une fois que vous avez configuré votre profil, choisissez Save pour l'enregistrer. Vous pouvez également choisir Cancel pour annuler vos modifications. Choisissez OK pour fermer la boîte de dialogue Global Settings. 7. Définition du profil par défaut pour un projet Vous pouvez définir le profil par défaut pour un projet AWS Schema Conversion Tool. Vous associez ainsi au projet les informations d'identification AWS stockées dans le profil. Le projet étant ouvert, procédez comme suit pour définir le profil par défaut. Pour définir le profil par défaut pour un projet 1. 2. Démarrer AWS Schema Conversion Tool. Ouvrez le menu Settings, puis choisissez Project Settings. La boîte de dialogue Current project settings s'affiche. 3. 4. Choisissez l'onglet Project Environment. Sous AWS Service Profile, choisissez le profil que vous souhaitez associer au projet. 5. Choisissez OK pour fermer la boîte de dialogue Current project settings. Vous pouvez également choisir Cancel pour annuler vos modifications. Rubriques connexes • Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 55) • Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69) • Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 79) Version 1.0 88 AWS Schema Conversion Tool Guide de l'utilisateur Options générales de gestion et de performances de mémoire Bonnes pratiques pour AWS Schema Conversion Tool Ci-dessous, vous pouvez trouver des informations sur les bonnes pratiques et options pour utiliser AWS Schema Conversion Tool. Options générales de gestion et de performances de mémoire Vous pouvez configurer AWS Schema Conversion Tool avec divers paramètres de performances de mémoire. L'augmentation de la mémoire accélère les performances de votre conversion mais utilise plus de ressources mémoire sur votre ordinateur de bureau. Pour définir votre option de gestion de mémoire, choisissez Global Settings dans le menu Settings et choisissez l'onglet Performance and Memory. Choisissez l'une des options suivantes : • Fast conversion, but large memory consumption – Cette option optimise la vitesse de la conversion, mais peut nécessiter plus de mémoire pour le cache de référence d'objet. • Low memory consumption, but slower conversion – Cette option réduit la quantité de mémoire utilisée, mais entraîne une conversion plus lente. Utilisez cette option si votre bureau dispose d'une quantité limitée de mémoire. • Balance speed with memory consumption – Cette option offre un compromis entre l'utilisation de la mémoire et la vitesse de conversion. Configuration de mémoire supplémentaire Pour convertir des schémas de base de données volumineux, par exemple une base de données comportant 3 500 procédures stockées, vous pouvez configurer la quantité de mémoire disponible pour AWS Schema Conversion Tool. Pour modifier la quantité de mémoire utilisée par AWS Schema Conversion Tool 1. Recherchez le dossier où se trouve le fichier de configuration (C:\Program Files\AWS Schema Conversion Tool\App). Version 1.0 89 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 2. Ouvrez le fichier de configuration AWS Schema Conversion Tool.cfg dans le Bloc-notes ou votre éditeur de texte préféré. 3. Modifiez la section JVMUserOptions afin de définir la quantité de mémoire minimale et maximale disponible. L'exemple suivant définit les quantités minimale et maximale de mémoire sur 4 Go et 40 Go, respectivement. [JVMUserOptions] -Xmx48960m -Xms4096m Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 90 AWS Schema Conversion Tool Guide de l'utilisateur Je ne peux pas charger d'objets à partir d'une base de données source Oracle Résolution des problèmes pour AWS Schema Conversion Tool Ci-dessous, vous pouvez trouver des informations sur le dépannage des problèmes avec AWS Schema Conversion Tool. Je ne peux pas charger d'objets à partir d'une base de données source Oracle Lorsque vous tentez de charger le schéma à partir d'une base de données Oracle, l'une des erreurs suivantes peu survenir. Cannot load objects tree. ORA-00942: table or view does not exist Ces erreurs se produisent car l'utilisateur dont vous avez utilisé l'ID pour vous connecter à la base de données Oracle n'a pas les autorisations nécessaires pour lire le schéma, comme requis par AWS Schema Conversion Tool. Vous pouvez résoudre le problème en accordant à l'utilisateur l'autorisation select_catalog_role, ainsi que une autorisation pour n'importe quel dictionnaire dans la base de données. Ces autorisations permettent l'accès en lecture seule pour les vues et les tables système qui est requis par AWS Schema Conversion Tool. L'exemple suivant crée un ID d'utilisateur nommé min_privs et accorde à l'utilisateur avec cet ID les autorisations minimales requises pour convertir le schéma à partir d'une base de données source Oracle. create user min_privs identified by min_privs; grant connect to min_privs; grant select_catalog_role to min_privs; grant select any dictionary to min_privs; Version 1.0 91 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 92 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Raccourcis clavier pour AWS Schema Conversion Tool Voici les raccourcis clavier que vous pouvez utiliser avec AWS Schema Conversion Tool. Raccourci clavier Description Ctrl+N Crée un projet. Ctrl+O Ouvre un projet existant. Ctrl+S Enregistre un projet ouvert. Ctrl+W Crée un nouveau projet à l'aide de l'assistant. Ctrl+L Etablit une connexion à la base de données source. Ctrl+R Se connecte à la base de données cible. Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 93 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL Informations de référence sur AWS Schema Conversion Tool Vous trouverez ci-dessous des informations de référence sur AWS Schema Conversion Tool : • Conversion de schéma prise en charge de MySQL vers PostgreSQL (p. 170) • Conversion de schéma prise en charge d'Oracle vers MySQL (p. 200) • Conversion de schéma prise en charge d'Oracle vers PostgreSQL (p. 230) • Conversion de schéma prise en charge de PostgreSQL vers MySQL (p. 170) • Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL (p. 94) • Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL (p. 114) Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL Les sections suivantes dressent la liste des éléments de schéma de Microsoft SQL Server et indiquent s'ils sont pris en charge dans le cadre d'une conversion automatique vers MySQL à l'aide d'AWS Schema Conversion Tool. Rubriques • Instructions (p. 95) • Procédures (p. 98) • Contrôle de flux (p. 99) • Fonctions (p. 99) • Opérateurs (p. 107) • Transactions (p. 109) • Types de données (p. 110) • Langage de définition de données (DDL) (p. 112) • Curseurs (p. 113) Version 1.0 94 AWS Schema Conversion Tool Guide de l'utilisateur Instructions • Rubriques connexes (p. 114) Instructions Rubriques • SELECT (p. 95) • INSERT (p. 96) • UPDATE (p. 96) • DELETE (p. 97) SELECT Clause Conversion automatique Détails WITH Non Essayez de convertir l'expression WITH(query) en sousrequête et utilisez-la dans une requête SELECT. UNION Oui EXCEPT | INTERSECT Non ALL | DISTINCT Oui TOP Partielle <select_list> Oui INTO Non FROM Partielle WHERE Oui GROUP BY Partielle HAVING Oui ORDER BY Partielle MySQL ne prend pas en charge TOP avec les options PERCENT ou WITH TIES. Essayez d'utiliser l'option LIMIT ou procédez à une conversion manuelle. MySQL ne prend pas en charge les prédicats CONTAINS et FREETEXT dans la condition de recherche de la clause FROM. MySQL ne prend pas en charge ORDER BY avec les options ROLLUP, CUBE et GROUPING SETS. Essayez de créer une procédure stockée pour remplacer la requête. MySQL ne prend pas en charge ORDER BY avec les options OFFSET ou FETCH. Essayez de créer une procédure stockée pour remplacer la requête. MySQL ne prend pas en charge ORDER BY avec l'option COLLATE. Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la création de la base de données. FOR Non OPTION Non Version 1.0 95 AWS Schema Conversion Tool Guide de l'utilisateur Instructions INSERT Clause Conversion automatique Détails WITH Non Essayez de convertir la requête WITH en sous-requête, puis utilisez cette dernière dans la requête INSERT. INSERT Oui TOP Non INTO Oui table_name Oui WITH (<Table_Hint_Limited>) Non Utilisez les méthodes MySQL d'optimisation des performances. OUTPUT Non Créez un déclencheur pour les instructions INSERT de la table, puis enregistrez les lignes insérées dans une table temporaire. Après l'opération INSERT, vous pouvez utiliser les lignes enregistrées dans la table temporaire. Cette logique peut être placée dans une procédure stockée. VALUES Oui derived_table Oui execute_statement Non <dml_table_source > Non DEFAULT VALUES Non Obtenez un décompte de toutes les lignes, puis utilisez l'expression suivante, où count_of_all_rows correspond à votre nombre de lignes : percent_expression * count_of_all_rows / 100 Créez une table temporaire, remplissez-la avec les données à insérer, puis utilisez la table temporaire dans la requête. UPDATE Clause Conversion automatique Détails WITH Non Essayez de convertir la requête WITH en sous-requête, puis utilisez cette dernière dans la requête UPDATE. TOP Partielle MySQL ne prend pas en charge UPDATE avec l'option PERCENT. Obtenez un décompte de toutes les lignes, puis utilisez l'expression suivante, où count_of_all_rows correspond à votre nombre de lignes : percent_expression * count_of_all_rows / 100 WITH (<Table_Hint_Limited>) Non Utilisez les méthodes MySQL d'optimisation des performances. SET Non Version 1.0 96 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion automatique Détails OUTPUT Non Créez un déclencheur pour les instructions UPDATE de la table, puis enregistrez les lignes modifiées dans une table temporaire. Après l'opération UPDATE, vous pouvez utiliser les lignes enregistrées dans la table temporaire. Cette logique peut être placée dans une procédure stockée. FROM Partielle MySQL ne prend pas en charge une clause FROM. AWS Schema Conversion Tool déplace <table-source> dans la clause UPDATE. WHERE Oui CURRENT OF Non GLOBAL Non OPTION Non Remplacez la clause CURRENT OF par une expression constituée de conditions qui utilisent les champs de clé unique de la table. Note MySQL ne prend pas en charge FILESTREAM DATA. Procédez à une conversion manuelle pour mettre à jour les données dans le fichier du système de fichiers. DELETE Clause Conversion automatique Détails WITH Non Essayez de convertir la requête WITH en sous-requête, puis utilisez cette dernière dans la requête DELETE. TOP Partielle MySQL ne prend pas en charge l'option PERCENT. Une conversion manuelle est nécessaire. Obtenez un décompte de toutes les lignes, puis utilisez l'expression suivante, où count_of_all_rows correspond à votre nombre de lignes : percent_expression * count_of_all_rows / 100 FROM Oui table_or_view_name Oui rowset_function_limited Non WITH Non MySQL ne prend pas en charge les indicateurs dans les instructions DELETE. De ce fait, AWS Schema Conversion Tool ignore les options sous la forme WITH(Table_Hint_Limited). Utilisez les méthodes MySQL d'optimisation des performances. OUTPUT Non Créez un déclencheur pour les instructions DELETE de la table, puis enregistrez les lignes supprimées dans une table temporaire. Après l'opération DELETE, vous pouvez Version 1.0 97 AWS Schema Conversion Tool Guide de l'utilisateur Procédures Clause Conversion automatique Détails utiliser les lignes enregistrées dans la table temporaire. Cette logique peut être placée dans une procédure stockée. WHERE Oui CURRENT OF Non GLOBAL Non OPTION Non Remplacez la clause CURRENT OF par une expression constituée de conditions qui utilisent les champs de clé unique de la table. Procédures Rubriques • CREATE PROCEDURE (p. 98) CREATE PROCEDURE Clause Conversion automatique Détails @paramètre Oui MySQL ne prend pas en charge les arguments de procédure du type de données CURSOR. Changez de logique business pour ne plus avoir à envoyer de curseurs à une procédure stockée par l'intermédiaire d'arguments. VARYING Partielle OUT OUTPUT Partielle READONLY Partielle WITH Non FOR REPLICATION Non AS BEGIN … END Non ENCRYPTION Oui RECOMPILE Non EXECUTE AS Non Version 1.0 98 AWS Schema Conversion Tool Guide de l'utilisateur Contrôle de flux Contrôle de flux Clause Conversion automatique Détails TRY…CATCH Non Essayez d'utiliser DECLARE HANDLER pour le bloc d'émulation CATCH et l'opérateur SIGNAL SQLSTATE pour émuler l'opérateur THROW. WAITFOR Non Procédez à une conversion manuelle. DECLARE Non Procédez à une conversion manuelle. GOTO Non Corrigez votre code de façon à éliminer les opérateurs GOTO, en utilisant des blocs BEGIN...END avec des opérateurs LEAVE, REPEAT, UNTIL et WHILE. BREAK Oui CONTINUE Oui IF…ELSE Oui RETURN Non WHILE Oui CASE Oui COALESCE Oui NULLIF Oui THROW MySQL ne prend pas en charge le retour d'une valeur en provenance d'une procédure à l'aide de l'instruction RETURN. Pour retourner une valeur, utilisez le paramètre OUT ou un jeu de résultats. Fonctions Rubriques • Fonctions d'agrégation (p. 100) • Fonctions de date et d'heure (p. 100) • Fonctions mathématiques (p. 101) • Fonctions de chaîne (p. 102) • Fonctions de configuration (p. 103) • Fonctions de conversion (p. 103) • • • • Fonctions de sécurité (p. 104) Fonctions système (p. 105) Fonctions logiques (p. 106) CREATE FUNCTION (p. 106) • EXECUTE (p. 106) Dans cette section, vous trouverez une liste des fonctions intégrées Microsoft SQL Server indiquant si AWS Schema Conversion Tool assure une conversion automatique. Dans les cas où MySQL ne prend pas en charge une fonction, envisagez de créer une fonction définie par l'utilisateur. Version 1.0 99 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions d'agrégation Fonction Conversion automatique Détails AVG Oui COUNT Oui COUNT_BIG Partielle MIN Oui MAX Oui SUM Oui CHECKSUM_AGG Non STDEV Partielle MySQL ne prend pas en charge la fonction STDEV avec la clause DISTINCT. STDEVP Partielle MySQL ne prend pas en charge la fonction STDEVP avec la clause DISTINCT. GROUPING Non GROUPING_ID Non VAR Partielle MySQL ne prend pas en charge la fonction VAR avec la clause DISTINCT. VARP Partielle MySQL ne prend pas en charge la fonction VARP avec la clause DISTINCT. Fonctions de date et d'heure Fonction Conversion automatique Détails DATEADD Partielle MySQL ne prend pas en charge la fonction DATEADD avec l'élément de date nanosecondes. DATEDIFF Partielle MySQL ne prend pas en charge la fonction DATEDIFF avec l'élément de date semaine, millisecondes ou nanosecondes. DATENAME Partielle MySQL ne prend pas en charge la fonction DATENAME avec l'élément de date millisecondes, nanosecondes ou TZoffset. DATEPART Partielle MySQL ne prend pas en charge la fonction DATEPART avec l'élément de date millisecondes, nanosecondes ou TZoffset. DAY Partielle GETDATE Partielle Version 1.0 100 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique GETDATE + 1 Partielle GETUTCDATE Partielle MONTH Partielle YEAR Partielle Détails DATETIMEOFFSETFROMPARTS Non ISDATE Non SWITCHOFFSET Non SYSDATETIMEOFFSET Non TODATETIMEOFFSET Non Fonctions mathématiques Fonction Conversion automatique ABS Oui ACOS Oui ASIN Oui ATN2 Partielle ATAN Oui CEILING Oui COS Oui COT Oui DEGREES Oui EXP Oui FLOOR Oui LOG10 Oui LOG Oui PI Oui POWER Oui RADIANS Oui RAND Oui Détails Version 1.0 101 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique Détails ROUND Partielle MySQL ne prend pas en charge la fonction ROUND avec l'argument de fonction. SIGN Oui SIN Oui SQRT Oui SQUARE Non TAN Oui Fonctions de chaîne Fonction Conversion automatique ASCII Oui CHAR Oui CHARINDEX Non CONCAT Oui DIFFERENCE Non FORMAT Non LEFT Oui LEN Partielle LOWER Oui LTRIM Oui NCHAR Non PATINDEX Non QUOTENAME Partielle REPLACE Oui REPLICATE Partielle REVERSE Oui RIGHT Oui RTRIM Oui SOUNDEX Non SPACE Oui Détails Version 1.0 102 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique STR Non STUFF Non SUBSTRING Oui UNICODE Non UPPER Oui Détails Fonctions de configuration Fonction Conversion automatique @@DATEFIRST Non @@DBTS Oui @@LANGID Oui @@LANGUAGE Non @@LOCK_TIMEOUT Oui @@MAX_CONNECTIONS Non @@MAX_PRECISION Oui @@NESTLEVEL Oui @@OPTIONS Oui @@REMSERVER Oui @@SERVERNAME Non @@SERVICENAME Oui @@SPID Oui @@TEXTSIZE Oui @@VERSION Non Détails Fonctions de conversion Fonction Conversion automatique CAST et CONVERT Non PARSE Non TRY_CAST Non Détails Version 1.0 103 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique TRY_CONVERT Non TRY_PARSE Non Détails Fonctions de sécurité Fonction Conversion automatique CERTENCODED Oui CERTPRIVATEKEY Oui CURRENT_USER Non DATABASE_PRINCIPAL_ID Non HAS_PERMS_BY_NAME Oui IS_MEMBER Oui IS_ROLEMEMBER Oui IS_SRVROLEMEMBER Oui ORIGINAL_LOGIN Non PERMISSIONS Oui PWDCOMPARE Oui PWDENCRYPT Oui SCHEMA_ID Oui SCHEMA_NAME Non SESSION_USER Non SUSER_ID Oui SUSER_NAME Oui SUSER_SID Oui SUSER_SNAME Oui sys.fn_builtin_permissions Oui sys.fn_get_audit_file Oui sys.fn_my_permissions Oui SYSTEM_USER Oui USER_ID Oui USER_NAME Oui Détails Version 1.0 104 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions système Fonction Conversion automatique $PARTITION Oui @@ERROR Oui @@IDENTITY Oui @@PACK_RECEIVED Oui @@ROWCOUNT Oui @@TRANCOUNT Oui BINARY_CHECKSUM Oui CHECKSUM Non CONNECTIONPROPERTY Oui CONTEXT_INFO Oui CURRENT_REQUEST_ID Oui ERROR_LINE Non ERROR_MESSAGE Non ERROR_NUMBER Non ERROR_PROCEDURE Non ERROR_SEVERITY Non ERROR_STATE Non FORMATMESSAGE Non Détails GET_FILESTREAM_TRANSACTION_CONTEXT Oui GETANSINULL Oui HOST_ID Non HOST_NAME Non ISNULL Non MIN_ACTIVE_ROWVERSION Oui NEWID Oui NEWSEQUENTIALID Oui PARSENAME Oui ROWCOUNT_BIG Oui XACT_STATE Oui Version 1.0 105 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions logiques Fonction Conversion automatique CHOOSE Non IIF Non Détails CREATE FUNCTION Clause Conversion automatique Détails @parameter_name Oui type_schema_name Oui parameter_data_type Non = default Oui READONLY Non RETURNS return_data_type Non WITH function_option Oui BEGIN … END Non RETURN scalar_expression Oui MySQL prend uniquement en charge les fonctions qui retournent une valeur scalaire. Clause Conversion automatique Détails @parameter_name Oui type_schema_name Oui parameter_data_type Non = default Oui READONLY Non RETURNS return_data_type Non WITH function_option Oui BEGIN … END Non RETURN scalar_expression Oui EXECUTE MySQL prend uniquement en charge les fonctions qui retournent une valeur scalaire. Version 1.0 106 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs Rubriques • Opérateurs arithmétiques (p. 107) • Opérateur d'affectation (p. 107) • Opérateurs au niveau du bit (p. 107) • Opérateurs de comparaison (p. 108) • Opérateurs logiques (p. 108) • Opérateurs d'ensembles (p. 109) • Opérateur de concaténation de chaînes (p. 109) • Opérateurs unaires (p. 109) Opérateurs arithmétiques Clause Conversion automatique + Oui += Oui – Oui -= Oui * Oui *= Oui / Oui /= Oui % Oui Détails Opérateur d'affectation Clause Conversion automatique = Oui Détails Opérateurs au niveau du bit Clause Conversion automatique & Oui | Oui ^ Oui Détails Version 1.0 107 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Clause Conversion automatique ~ Oui Détails Opérateurs de comparaison Clause Conversion automatique = Oui > Oui < Oui >= Oui <= Oui <> Oui != Oui !< Oui !> Oui Détails Opérateurs logiques Clause Conversion automatique ALL Oui AND Oui ANY Oui BETWEEN Oui EXISTS Oui IN Oui LIKE Oui NOT Oui OR Oui SOME Partielle Détails AWS Schema Conversion Tool convertit SOME en ANY. Version 1.0 108 AWS Schema Conversion Tool Guide de l'utilisateur Transactions Opérateurs d'ensembles Clause Conversion automatique Détails UNION Oui UNION ALL Oui EXCEPT Non Procédez à une conversion manuelle. INTERSECT Non Procédez à une conversion manuelle. Opérateur de concaténation de chaînes Clause Conversion automatique + Oui Détails Opérateurs unaires Clause Conversion automatique + Oui – Oui Détails Transactions Rubriques • BEGIN TRANSACTION (p. 109) BEGIN TRANSACTION Clause Conversion automatique Détails DISTRIBUTED Non MySQL ne prend pas en charge les transactions distribuées. Modifiez votre architecture de telle sorte qu'elle utilise les transactions distribuées. transaction_name Non MySQL ne prend pas en charge les transactions nommées. Corrigez votre code de façon à éliminer les transactions marquées. WITH MARK Non MySQL ne prend pas en charge l'option WITH MARK. Corrigez votre code de façon à éliminer les transactions marquées. SAVE Partielle Version 1.0 109 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion automatique ROLLBACK Partielle transaction_name Non savepoint_name Partielle COMMIT Partielle DELAYED_DURABILITY Non Détails MySQL ne prend pas en charge les transactions nommées. Corrigez votre code de façon à éliminer les transactions nommées. Types de données Rubriques • Valeurs numériques (p. 110) • Date et heure (p. 111) • Chaînes de caractères (p. 111) • Chaînes binaires (p. 111) • Types spéciaux (p. 112) Valeurs numériques Type de données Conversion automatique Conversion par défaut bigint Oui bigint int Oui int smallint Oui smallint tinyint Oui tinyint unsigned bit Oui bit(1) money Oui numeric(19,4) smallmoney Oui numeric(10,4) numeric Oui numeric decimal Oui decimal float Oui double real Oui float Version 1.0 110 Détails AWS Schema Conversion Tool Guide de l'utilisateur Types de données Date et heure Type de données Conversion automatique Conversion par défaut Détails date Partielle date De 0001-01-01 à 9999-12-31 datetime2(7) Partielle datetime De 0001-01-01 à 9999-12-31 00:00:00 et 23:59:59.9999999 datetime Partielle datetime De 1753-01-01 à 9999-12-31 00:00:00 et 23:59:59.997 datetimeoffset(7) Non smalldatetime Oui datetime time(7) Oui time Chaînes de caractères Type de données Conversion automatique Conversion par défaut Détails char(len) Partielle char len = 1 à 255 symboles (2 ^ 8-1) (plage de perte) varchar(len) Oui varchar varchar(max) Oui longtext text Oui longtext nchar(len) len = 1 à 4 000 char nvarchar(len) Oui varchar nvarchar(max) Oui longtext ntext Oui longtext Type de données Conversion automatique Conversion par défaut binary(len) Oui blob varbinary(len) Oui blob varbinary(max) Oui longblob hierarchyid Non len = 1 à 255 symboles (2 ^ 8-1) (plage de perte) Chaînes binaires Version 1.0 111 Détails AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Type de données Conversion automatique sql_variant Non table Non uniqueidentifier Non xml Non geography Non geometry Non Conversion par défaut Détails Détails Types spéciaux Type de données Conversion automatique Conversion par défaut UNIQUEIDENTIFIER Partielle CHAR(38) OU BINARY(16) DOUBLE PRECISION Partielle FLOAT(53) IDENTITY Partielle AUTO_INCREMENT SYSNAME Partielle NVARCHAR(128) NOT NULL Langage de définition de données (DDL) Rubriques • CREATE TABLE (p. 112) • CREATE INDEX (p. 112) • CREATE TRIGGER (p. 113) • CREATE VIEW (p. 113) CREATE TABLE Les instructions CREATE TABLE sont converties automatiquement sauf pour la clause suivante. Clause Conversion automatique Détails SET DEFAULT Non MySQL ne prend pas en charge l'option SET DEFAULT pour FOREIGN KEY. CREATE INDEX AWS Schema Conversion Tool ne prend pas en charge la migration automatique du code en langage de définition de données (DDL) pour créer un index. Version 1.0 112 AWS Schema Conversion Tool Guide de l'utilisateur Curseurs CREATE TRIGGER Les instructions CREATE TRIGGER sont converties automatiquement sauf pour la clause suivante. Clause Conversion automatique Détails FOR Non MySQL ne prend pas en charge une clause FOR dans une instruction CREATE TRIGGER. CREATE VIEW Les instructions CREATE VIEW sont converties automatiquement sauf pour les clauses suivantes. Clause Conversion automatique Détails SCHEMABINDING Non AWS Schema Conversion Tool ignore cette clause. ENCRYPTION Non AWS Schema Conversion Tool ignore cette clause. VIEW_METADATA Non AWS Schema Conversion Tool ignore cette clause. Curseurs Rubriques • DECLARE CURSOR (p. 113) DECLARE CURSOR Clause Conversion automatique Détails LOCAL Oui Remplacez le curseur global par un curseur local ou corrigez votre code de sorte qu'il n'exige pas de curseurs globaux. GLOBAL Non Sachant que la définition de cette option correspond au comportement normal des curseurs dans MySQL, AWS Schema Conversion Tool ignore cette option pendant la conversion. FORWARD_ONLY Partielle Modifiez votre code pour éliminer les curseurs avec l'option SCROLL. SCROLL Non STATIC Oui Sachant que l'appartenance et l'ordre des lignes ne change jamais pour les curseurs dans MySQL, AWS Schema Conversion Tool ignore cette option pendant la conversion. Vérifiez que le comportement des schémas convertis est acceptable. Version 1.0 113 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Clause Conversion automatique Détails KEYSET Partielle Corrigez votre code de façon à éliminer les curseurs dynamiques. DYNAMIC Non Sachant que la définition de cette option correspond au comportement normal des curseurs dans MySQL, AWS Schema Conversion Tool ignore cette option pendant la conversion. FAST_FORWARD Oui Tous les curseurs MySQL étant en lecture seule, AWS Schema Conversion Tool ignore cette option pendant la conversion. READ_ONLY Oui Etant donné que MySQL ne prend pas en charge l'option SCROLL_LOCKS, AWS Schema Conversion Tool ignore cette option pendant la conversion. Vérifiez que le comportement des schémas convertis est acceptable. SCROLL_LOCKS Partielle Etant donné que MySQL ne prend pas en charge l'option OPTIMISTIC, AWS Schema Conversion Tool ignore cette option pendant la conversion. Vérifiez que le comportement des schémas convertis est acceptable. OPTIMISTIC Partielle Etant donné que MySQL ne prend pas en charge l'option TYPE_WARNING, AWS Schema Conversion Tool ignore cette option pendant la conversion. Vérifiez que le comportement des schémas convertis est acceptable. TYPE_WARNING Partielle Remplacez le curseur global par un curseur local ou corrigez votre code de sorte qu'il n'exige pas de curseurs globaux. Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL Les sections suivantes dressent la liste des éléments de schéma d'une base de données Microsoft SQL Server et indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers PostgreSQL à l'aide d'AWS Schema Conversion Tool. Version 1.0 114 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Langage de définition de données (DDL) Dénomination d'objets Clause Conversion automatique Schémas Oui Tables, colonnes Oui Détails Instructions Clause Conversion automatique ALTER INDEX Non ALTER PROCEDURE Non ALTER TRIGGER Non ALTER VIEW Non CREATE FUNCTION Partielle CREATE PROCEDURE Oui CREATE SEQUENCE Oui IDENTITY (x,y) Oui TRUNCATE TABLE Oui UPDATE STATISTICS Non Détails La migration automatique des fonctions en ligne n'est pas prise en charge. Les paramètres par défaut spécifiés pour une fonction sont ignorés. ALTER TABLE Clause Conversion automatique ADD Oui ALTER COLUMN Non DROP COLUMN Non DROP CONSTRAINT Non ENABLE/DISABLE TRIGGER Oui Détails Version 1.0 115 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) CREATE INDEX Clause Conversion automatique Option CLUSTER Partielle Index COLUMNSTORE Partielle Clause INCLUDE Partielle Autres options INDEX Partielle Index SPATIAL Partielle Option UNIQUE Oui Index XML Partielle Détails CREATE TABLE Clause Conversion automatique Tables partitionnées Oui Tables standard Oui Tables temporaires Partielle Tables larges Oui Détails CREATE TRIGGER Clause Conversion automatique Déclencheurs FOR EACH STATEMENT Partielle Déclencheurs INSTEAD OF Partielle Evénement déclencheur (INSERT/UPDATE/ DELETE) Partielle Temps de déclenchement (BEFORE/AFTER) Partielle Détails CREATE VIEW Clause Conversion automatique CREATE VIEW Oui Détails Version 1.0 116 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Clause Conversion automatique Vues actualisables Oui VIEW Oui Détails Instructions DROP Clause Conversion automatique DROP TABLE Oui DROP VIEW Oui Autres types d'objets Oui Détails Langage de manipulation de données (DML) Clause pour les instructions Clause Conversion automatique Indicateurs de jointure Non Indicateurs de requête Non Indicateur de table Non WHERE Oui Détails Jointures Jointures croisées Clause Conversion automatique Jointure croisée Oui Jointure croisée avec condition Oui Détails Jointures internes Clause Conversion automatique Jointures internes Oui Détails Version 1.0 117 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Jointures externes Clause Conversion automatique Jointure complète Oui Jointure externe complète Oui Jointure gauche Oui Jointure externe gauche Oui Jointure droite Oui Jointure externe droite Oui Détails Prédicats pour instructions Clause Conversion automatique Conditions booléennes Oui Conditions Exists Oui Conditions In Oui Conditions Null Oui Détails Conditions de Oui correspondance de modèles Conditions de plage Oui Conditions de comparaison Clause Conversion automatique =, <>, <, <=, >, >= Oui ANY, SOME, ALL Partielle Détails Instructions DELETE Clause Conversion automatique CURRENT OF Oui FROM Partielle OUTPUT Partielle Détails Version 1.0 118 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Clause Conversion automatique TOP Non VALUES Oui WITH Oui Détails INSERT Clause Conversion automatique DEFAULT Oui DEFAULT VALUES Oui FROM Oui INTO Oui OUTPUT Non TOP Non VALUES Oui WITH Oui Détails SELECT Clause Conversion automatique Clause GROUP BY avec une expression Oui Clause GROUP BY avec plusieurs tables Oui GROUP BY CUBE Non Group By Grouping Sets Non GROUP BY ROLLUP Non Limitation du nombre de lignes retournées Oui Sélectionner toutes les colonnes (en utilisant * et des alias) Oui Sélectionner toutes les colonnes (en utilisant *) Oui Détails Version 1.0 119 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Clause Conversion automatique Sélectionner un sousensemble de colonnes Oui Sélectionner avec des calculs Oui Sélectionner avec en-tête de colonne Oui Sélectionner avec des constantes Oui Spécifier un ordre croissant Oui Spécifier un classement Oui Spécifier un ordre conditionnel Oui Spécifier un ordre décroissant Oui Spécifier un pourcentage Oui Spécifier un pourcentage (argument 100 %) Oui Spécifier un alias comme colonne de tri Oui Spécifier une expression comme colonne de tri Oui Spécifier un ordre à la fois croissant et décroissant Oui TOP avec une variable Oui Utiliser ORDER BY et une commande OFFSET Oui Utiliser ORDER BY et une fonction de classement Oui Utiliser ORDER BY avec UNION Oui Utiliser WITH TIES Non WHERE avec BETWEEN Oui WHERE avec une combinaison de prédicats Oui WHERE avec CONTAINS Non WHERE avec EXISTS subquery Oui Détails Version 1.0 120 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Clause Conversion automatique WHERE avec FREETEXT Non WHERE avec IN custom list Oui WHERE avec IN subquery Oui WHERE avec LIKE Partielle WHERE avec inversion de la valeur d'une entrée booléenne Oui WHERE avec NULL Oui Détails DISTINCT Clause Conversion automatique DISTINCT Oui Détails FROM Clause Conversion automatique FROM Oui Détails GROUP BY Clause Conversion automatique GROUP BY Oui Détails HAVING Clause Conversion automatique HAVING Oui Détails ORDER BY Clause Conversion automatique ORDER BY Oui Détails Version 1.0 121 AWS Schema Conversion Tool Guide de l'utilisateur Types de données TOP Clause Conversion automatique TOP Oui Détails WHERE Clause Conversion automatique WHERE Oui Détails UPDATE Clause Conversion automatique CURRENT OF Oui DEFAULT Oui Données FILESTREAM Non FROM Oui OUTPUT Partielle TOP Non VALUES Oui WITH Oui Détails Types de données Clause Conversion automatique BIGINT Oui BINARY Oui BIT Oui CHAR, CHARACTER Oui DATETIME Oui DATETIMEOFFSET Non DEC, DECIMAL Oui DOUBLE PRECISION Oui Détails Version 1.0 122 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion automatique FLOAT Oui GEOGRAPHY Non GEOMETRY Non HIERARCHYID Non IDENTITY Non INT, INTEGER Oui MONEY Oui NCHAR Oui NTEXT Oui NUMERIC Oui NVARCHAR Oui REAL Oui ROWVERSION Non SMALL MONEY Oui SMALLDATETIME Oui SMALLINT Oui SQL_VARIANT Non SYSNAME Oui TABLE Non TEXT Oui TIMESTAMP Oui TINYINT Oui UNIQUEIDENTIFIER Oui VARBINARY Oui VARCHAR Oui XML Non Détails Converti en identificateur unique universel (UUID) si le module ossp-uuid est installé dans l'instance PostgreSQL. Le module ossp-uuid intègre des fonctions qui permettent de générer des UUID en utilisant l'un de différents algorithmes standard. Version 1.0 123 AWS Schema Conversion Tool Guide de l'utilisateur Messagerie de base de données Messagerie de base de données Clause Conversion automatique Comptes et profils Oui Objets de configuration de la messagerie de base de données Oui Objets de messagerie de la messagerie de base de données Oui Paramètres de la messagerie de base de données Oui Sécurité Oui sp_send_dbmail Non sysmail_add_account_sp Non Détails sysmail_add_principalprofile_spNon sysmail_add_profile_sp Non sysmail_add_profileaccount_spNon sysmail_allitems Non sysmail_configure_sp Non sysmail_delete_account_sp Non sysmail_delete_log_sp Non sysmail_delete_mailitems_sp Non sysmail_delete_principalprofile_sp Non sysmail_delete_profile_sp Non sysmail_delete_profileaccount_sp Non sysmail_event_log Non sysmail_faileditems Non sysmail_help_account_sp Non sysmail_help_configure_sp Non sysmail_help_principalprofile_sp Non sysmail_help_profile_sp Non sysmail_help_profileaccount_spNon sysmail_help_queue_sp Non Version 1.0 124 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique sysmail_help_status_sp Non sysmail_help_status_sp Non sysmail_mailattachments Non sysmail_sentitems Non sysmail_start_sp Non sysmail_start_sp Non sysmail_stop_sp Non sysmail_stop_sp Non sysmail_unsentitems Non sysmail_update_account_sp Non Détails sysmail_update_principalprofile_sp Oui sysmail_update_principalprofile_sp Non sysmail_update_profile_sp Non sysmail_update_profileaccount_sp Non Etat du système Oui Fonctions @@functions Clause Conversion automatique @@CONNECTIONS Non @@CPU_BUSY Non @@CURSOR_ROWS Non @@DATEFIRST Non @@DBTS Non @@ERROR Non @@FETCH_STATUS Oui @@IDENTITY Oui @@IDLE Non @@IO_BUSY Non Détails Version 1.0 125 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique @@LANGID Non @@LANGUAGE Non @@LOCK_TIMEOUT Non @@MAX_CONNECTIONS Non @@MAX_PRECISION Non @@NESTLEVEL Non @@OPTIONS Non @@PACK_RECEIVED Non @@PACK_SENT Non @@PACKET_ERRORS Non @@PROCID Non @@REMSERVER Non @@ROWCOUNT Non @@SERVERNAME Non @@SERVICENAME Non @@SPID Non @@TEXTSIZE Non @@TIMETICKS Non @@TOTAL_ERRORS Non @@TOTAL_READ Non @@TOTAL_WRITE Non @@TRANCOUNT Non @@VERSION Non Détails Agrégation Clause Conversion automatique AVG Partielle CHECKSUM_AGG Non COUNT Oui COUNT_BIG Oui Détails Version 1.0 126 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique GROUPING Non GROUPING_ID Non MAX Oui MIN Oui STDEV Oui STDEVP Oui SUM Oui VAR Oui VARP Oui Détails Fonctions intégrées Clause Conversion automatique Fonctions d'agrégation Oui Fonctions de curseur Non Fonctions de métadonnées Non Fonctions de sécurité Non Fonctions système Non Fonctions statistiques système Non Fonctions de texte et d'image Non Détails Conversion Clause Conversion automatique CAST Partielle CONVERT Partielle PARSE Non TRY_CAST Non TRY_CONVERT Non TRY_PARSE Non Détails Version 1.0 127 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Date et heure Clause Conversion automatique CURRENT_TIMESTAMP Partielle DATEADD Partielle DATEDIFF Partielle DATEFROMPARTS Oui DATENAME Partielle DATEPART Partielle DATETIME2FROMPARTS Partielle DATETIMEFROMPARTS Partielle Détails DATETIMEOFFSETFROMPARTS Partielle DAY Oui EOMONTH Oui GETDATE Oui GETUTCDATE Oui ISDATE Non MONTH Oui SMALLDATETIMEFROMPARTS Oui SWITCHOFFSET Non SYSDATETIME Oui SYSDATETIMEOFFSET Non SYSUTCDATETIME Oui TIMEFROMPARTS Oui TODATETIMEOFFSET Non YEAR Oui Fonctions mathématiques Clause Conversion automatique ABS() Oui ACOS() Oui ASIN() Oui Détails Version 1.0 128 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique ATAN() Oui ATN2 () Oui CEILING() Oui COS() Oui COT() Oui DEGREES() Oui EXP() Oui FLOOR() Oui LOG() Oui LOG10() Oui PI() Oui POWER() Oui RADIANS() Oui RAND() Oui RAND(seed) Partielle ROUND() Partielle ROUND() Partielle SIGN() Oui SIN() Oui SQRT() Oui SQUARE() Oui TAN() Oui Détails Fonctions de classement Clause Conversion automatique DENSE_RANK Oui NTILE Oui RANK Oui ROW_NUMBER Oui Détails Version 1.0 129 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions d'ensembles de lignes Clause Conversion automatique CONTAINSTABLE Non FREETEXTTABLE Non OPENDATASOURCE Non OPENQUERY Non OPENROWSET Non OPENXML Non Détails Fonctions scalaires Clause Conversion automatique ABS() Oui ACOS() Oui ASCII Oui ASIN() Oui ATAN() Oui ATN2 () Oui AVG Oui CEILING() Oui CHAR Oui CHARINDEX Oui CHECKSUM Non CHECKSUM_AGG Non CHOOSE Non CONCAT Oui COS() Oui COT() Oui COUNT Oui COUNT_BIG Oui CURRENT_TIMESTAMP Oui Détails Version 1.0 130 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique CURRENT_USER Non DATABASE_PRINCIPAL_ID Non DATEADD Partielle DATEDIFF Partielle DATEFROMPARTS Oui DATENAME Partielle DATEPART Partielle DATETIME2FROMPARTS Oui DATETIMEFROMPARTS Oui Détails DATETIMEOFFSETFROMPARTS Non DAY Oui DEGREES() Oui DIFFERENCE Non EOMONTH Oui ERROR_LINE Non ERROR_MESSAGE Non ERROR_NUMBER Non ERROR_PROCEDURE Non ERROR_SEVERITY Non ERROR_STATE Non EXP() Oui FLOOR() Oui FORMAT Non FORMATMESSAGE Non GETDATE Oui GETUTCDATE Oui GROUPING Non GROUPING_ID Non HOST_ID Non HOST_NAME Non Version 1.0 131 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique IIF Non ISDATE Non ISNULL Oui ISNUMERIC Implémenté dans la bibliothèque d'extensions LEFT Oui LEN Oui LOG() Oui LOG10() Oui LOWER Oui LTRIM Oui MAX Oui MIN Oui MONTH Oui NCHAR Non ORIGINAL_LOGIN Non PARSENAME Non PATINDEX Non PI() Oui POWER() Oui PRINT Oui QUOTENAME Partielle RADIANS() Oui RAND() Oui REPLACE Oui REPLICATE Oui REVERSE Oui RIGHT Oui ROUND() Oui RTRIM Oui Détails Version 1.0 132 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique SCHEMA_NAME Non SESSION_USER Non SIGN() Oui SIN() Oui Détails SMALLDATETIMEFROMPARTS Oui SOUNDEX Oui SPACE Oui SQRT() Oui SQUARE() Oui STDEV Oui STDEVP Oui STR Non STUFF Oui SUBSTRING Oui SUM Oui SWITCHOFFSET Non SYSDATETIME Oui SYSDATETIMEOFFSET Non SYSUTCDATETIME Oui TAN() Oui TIMEFROMPARTS Oui TODATETIMEOFFSET Non UNICODE Non UPPER Oui VAR Oui VARP Oui YEAR Oui Version 1.0 133 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Chaîne Clause Conversion automatique ASCII Oui CHAR Oui CHARINDEX Oui CONCAT Oui DIFFERENCE Non FORMAT Non LEFT Oui LEN Oui LOWER Oui LTRIM Oui NCHAR Non PATINDEX Non QUOTENAME Partielle REPLACE Oui REPLICATE Oui REVERSE Oui RIGHT Oui RTRIM Oui SOUNDEX Non SPACE Oui STR Non STUFF Oui SUBSTRING Oui UNICODE Non UPPER Oui Détails Version 1.0 134 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs Opérateurs arithmétiques Clause Conversion automatique - (Soustraction) Partielle % (Modulo) Partielle * (Multiplication) Partielle / (Division) Partielle + (Addition) Partielle Détails Opérateur d'affectation Clause Conversion automatique = Oui Détails Opérateurs au niveau du bit Clause Conversion automatique Détails & (Opération AND au niveau Oui du bit) ^ (Opération OR exclusive au niveau du bit) Non | (Opération OR au niveau du bit) Oui Opérateurs de comparaison Clause Conversion automatique Opérateurs de comparaison Partielle Détails Opérateurs logiques Clause Conversion automatique Opérateurs logiques Oui Détails Version 1.0 135 AWS Schema Conversion Tool Guide de l'utilisateur Autre Opérateurs d'ensembles Clause Conversion automatique EXCEPT Oui INTERSECT Oui UNION Oui UNION ALL Oui Détails Opérateur de concaténation de chaînes Clause Conversion automatique Opérateur de concaténation de chaînes Oui Détails Opérateurs unaires Clause Conversion automatique Opérateurs unaires Oui Détails Autre Clause Conversion automatique CHECKSUM Non CHOOSE Non CURRENT_USER Non DATABASE_PRINCIPAL_ID Non ERROR_LINE Non ERROR_MESSAGE Non ERROR_NUMBER Non ERROR_PROCEDURE Non ERROR_SEVERITY Non ERROR_STATE Non FORMATMESSAGE Non Détails Version 1.0 136 AWS Schema Conversion Tool Guide de l'utilisateur Service Broker Clause Conversion automatique HOST_ID Non HOST_NAME Non IIF Non ISNULL Oui ISNUMERIC Non Fonctions logiques Oui NEWID Oui ORIGINAL_LOGIN Non Autre Oui PRINT Oui SCHEMA_NAME Non Fonctions de sécurité Oui SESSION_USER Non Fonctions système Oui Détails Service Broker Clause Conversion automatique ALTER QUEUE Non ALTER SERVICE Non BEGIN CONVERSATION TIMER Non BEGIN DIALOG CONVERSATION Non CREATE QUEUE Non CREATE SERVICE Non DROP QUEUE Non DROP SERVICE Non END CONVERSATION Non GET CONVERSATION GROUP Non Détails Version 1.0 137 AWS Schema Conversion Tool Guide de l'utilisateur Service Broker Clause Conversion automatique GET TRANSMISSION_STATUS Non MOVE CONVERSATION Non Gestion de file d'attente Oui RECEIVE Non SEND Non Affichages catalogue Service Broker Oui Vues de gestion dynamique liées à Service Broker Oui Instructions Service Broker Oui Gestion des services Oui sys.conversation_endpoints Non sys.conversation_groups Non sys.conversation_priorities Non Détails sys.dm_broker_activated_tasksNon sys.dm_broker_connections Non sys.dm_broker_forwarded_messages Non sys.dm_broker_queue_monitors Non sys.message_type_xml_schema_collection_usages Non sys.remote_service_bindings Non sys.routes Non sys.service_contract_message_usages Non sys.service_contract_usages Non sys.service_contracts Non sys.service_message_types Non sys.service_queue_usages Non sys.service_queues Non sys.services Non sys.transmission_queue Non Version 1.0 138 AWS Schema Conversion Tool Guide de l'utilisateur SQL Server Agent SQL Server Agent Clause Conversion automatique sp_add_alert Non sp_add_category Non sp_add_job Non sp_add_jobschedule Non sp_add_jobserver Non sp_add_jobstep Non sp_add_notification Non sp_add_operator Non sp_add_proxy Non sp_add_schedule Non sp_add_targetservergroup Non Détails sp_add_targetsvrgrp_member Non sp_apply_job_to_targets Non sp_attach_schedule Non sp_cycle_agent_errorlog Non sp_cycle_errorlog Non sp_delete_alert Non sp_delete_category Non sp_delete_job Non sp_delete_jobschedule Non sp_delete_jobserver Non sp_delete_jobstep Non sp_delete_jobsteplog Non sp_delete_notification Non sp_delete_operator Non sp_delete_proxy Non sp_delete_schedule Non sp_delete_targetserver Non sp_delete_targetservergroup Non Version 1.0 139 AWS Schema Conversion Tool Guide de l'utilisateur SQL Server Agent Clause Conversion automatique Détails sp_delete_targetsvrgrp_member Non sp_detach_schedule Non sp_enum_login_for_proxy Non sp_enum_proxy_for_subsystemNon sp_enum_sqlagent_subsystems Non sp_grant_login_to_proxy Non sp_grant_proxy_to_subsystem Non sp_help_alert Non sp_help_category Non sp_help_downloadlist Non sp_help_job Non sp_help_jobactivity Non sp_help_jobcount Non sp_help_jobhistory Non sp_help_jobs_in_schedule Non sp_help_jobschedule Non sp_help_jobserver Non sp_help_jobstep Non sp_help_jobsteplog Non sp_help_notification Non sp_help_operator Non sp_help_proxy Non sp_help_schedule Non sp_help_targetserver Non sp_help_targetservergroup Non sp_manage_jobs_by_login Non sp_msx_defect Non sp_msx_enlist Non sp_msx_get_account Non sp_msx_set_account Non Version 1.0 140 AWS Schema Conversion Tool Guide de l'utilisateur Sauvegarde SQL Server Clause Conversion automatique sp_notify_operator Non sp_post_msx_operation Non sp_purge_jobhistory Non Détails sp_remove_job_from_targetss Non sp_resync_targetserver Non sp_revoke_login_from_proxy Non sp_revoke_proxy_from_subsystem Non sp_start_job Non sp_stop_job Non sp_update_alert Non sp_update_category Non sp_update_job Non sp_update_jobschedule Non sp_update_jobstep Non sp_update_notification Non sp_update_operator Non sp_update_proxy Non sp_update_schedule Non sp_update_targetservergroup Non Sauvegarde SQL Server Clause Conversion automatique BACKUP Non BACKUP CERTIFICATE Non BACKUP MASTER KEY Non BACKUP SERVICE MASTER KEY Non RESTORE Non RESTORE FILELISTONLY Non RESTORE HEADERONLY Non Détails Version 1.0 141 AWS Schema Conversion Tool Guide de l'utilisateur T-SQL Clause Conversion automatique RESTORE LABELONLY Non RESTORE MASTER KEY Non RESTORE REWINDONLY Non RESTORE SERVICE MASTER KEY Non RESTORE VERIFYONLY Non Détails T-SQL BACKUP et RESTORE Clause Conversion automatique Instructions BACKUP et RESTORE Non Détails Classement (Collation) Clause Conversion automatique Collation Non Détails Langage de contrôle de flux Clause Conversion automatique BEGIN...END Oui BREAK Oui CONTINUE Oui GOTO Non IF...ELSE Oui RETURN Oui THROW Oui TRY...CATCH Oui WAITFOR Partielle WHILE Oui Détails Version 1.0 142 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Curseurs DECLARE CURSOR Clause Conversion automatique DECLARE CURSOR Oui CURSOR avec option GLOBAL Non CURSOR avec options FORWARD_ONLY ou SCROLL Non Détails FETCH Clause Conversion automatique FETCH Oui Détails OPEN Clause Conversion automatique OPEN Oui Détails Instructions DUMP et LOAD Clause Conversion automatique Instructions DUMP et LOAD Non Détails Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Consultez les sections suivantes pour obtenir des informations sur les types de problèmes que vous êtes susceptible de rencontrer lors d'une conversion de Microsoft SQL Server vers PostgreSQL. Cliquez sur le lien éventuel dans la colonne Problème pour obtenir des informations plus détaillées sur la résolution du problème en question. Version 1.0 143 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Opérateurs arithmétiques Elément Problème Résolution Opérateurs arithmétiques Problème 7775 : Vérifier la conversion de types de données pour une perte possible de précision (p. 153) Convertissez les valeurs dans le type souhaité. Opérateurs arithmétiques et types de date Problème 7773 : Impossible d'effectuer une migration automatique des opérations arithmétiques avec les dates (p. 153) Convertissez les valeurs dans le type souhaité. Opérateurs arithmétiques et types mixtes Problème 7774 : Impossible d'effectuer une migration automatique des opérations arithmétiques avec plusieurs types d'opérandes (p. 153) Convertissez les valeurs dans le type souhaité. Services intégrés Elément Problème Résolution Messagerie de base de données Problème 7900 : PostgreSQL n'a pas de fonction similaire à Database Mail de SQL Server (p. 154) Essayez d'utiliser Amazon Simple Notification Service (Amazon SNS). Service Broker Problème 7901 : PostgreSQL n'a pas de fonction similaire à Service Broker de SQL Server (p. 154) Essayez d'utiliser Amazon Simple Queue Service (Amazon SQS). SQL Server Agent Problème 7902 : PostgreSQL n'a pas de fonction similaire à SQL Server Agent (p. 154) Essayez d'utiliser le service AWS Lambda avec les événements planifiés. Sauvegarde SQL Server Problème 7903 : PostgreSQL n'a pas de fonction similaire à la sauvegarde SQL Server (p. 154) Essayez d'utiliser le service de stockage Amazon Glacier. Fonctions SQL intégrées Elément Problème Résolution SOUNDEX Problème 7811 : PostgreSQL ne prend pas en charge la fonction SOUNDEX (p. 154) Créez une fonction définie par l'utilisateur. CONTROL FLOW Elément Problème Résolution Curseurs Problème 7801 : La table peut être verrouillée par un curseur ouvert (p. 155) Examinez votre code transformé et modifiez-le, si nécessaire. DECLARE / DEFAULT VALUE Problème 7826 : Vérifier la valeur par défaut d'une variable DateTime (p. 155) Vérifiez la valeur par défaut d'une variable DateTime. Version 1.0 144 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Elément Problème Résolution GOTO Problème 7628 : PostgreSQL ne prend pas en Corrigez votre code de façon charge l'option GOTO. Impossible d'effectuer la à éliminer les opérateurs conversion automatique. (p. 155) GOTO, en utilisant des blocs BEGIN...END avec des opérateurs EXIT, REPEAT, UNTIL et WHILE. Procédures Problème 7802 : Une table créée dans la procédure doit être supprimée avant la fin de la procédure (p. 155) Examinez votre code transformé et modifiez-le, si nécessaire. Jeux de résultats Problème 7800 : PostgreSQL ne prend pas en charge les jeux de résultats dans le style de MSSQL (p. 154) Examinez votre code transformé et modifiez-le, si nécessaire. WAITFOR DELAY Problème 7821 : L'opérateur de conversion automatique WAITFOR assorti d'une variable n'est pas pris en charge (p. 155) Procédez à une conversion manuelle. WAITFOR TIME Problème 7691 : PostgreSQL ne prend pas en charge la fonction WAITFOR TIME (p. 155) Procédez à une conversion manuelle. Problème Résolution Problème 7696 : Impossible de convertir l'objet en raison de la non création de %s (p. 155) Examinez l'objet %s. Problème 7813 : Objets chiffrés (p. 155) Déchiffrez l'objet avant la conversion. Elément Problème Résolution CURSOR avec option GLOBAL Problème 7637 : PostgreSQL ne prend pas en charge GLOBAL CURSORS. Nécessite une conversion manuelle. (p. 156) Remplacez le curseur global par un curseur local ou corrigez votre code de sorte qu'il n'exige pas de curseurs globaux. CURSOR avec les options STATIC, KEYSET, DYNAMIC ou FAST_FORWARD Problème 7639 : PostgreSQL ne prend pas en charge les curseurs de type DYNAMIC (p. 156) Corrigez votre code de façon à éliminer les curseurs dynamiques. Option FAST_FORWARD Problème 7701 : La définition de cette option correspondant au comportement normal des curseurs dans PostgreSQL, cette option est ignorée (p. 156) Utilisez cursors sans cette option. CREATE Elément Objets chiffrés CURSORS Version 1.0 145 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Elément Problème Résolution FOR UPDATE Problème 7803 : PostgreSQL ne prenant pas en charge l'option FOR UPDATE, cette option est ignorée (p. 156) Examinez votre code transformé et modifiez-le, si nécessaire. Option KEYSET Problème 7700 : L'appartenance et l'ordre des lignes ne changeant jamais pour les curseurs dans PostgreSQL, cette option est ignorée (p. 156) Utilisez cursors sans cette option. Option OPTIMISTIC Problème 7704 : PostgreSQL ne prenant pas en charge l'option OPTIMISTIC, cette option est ignorée (p. 156) Utilisez cursors sans cette option. Option READ_ONLY Problème 7702 : Tous les curseurs Utilisez cursors sans cette PostgreSQL étant en lecture seule, cette option option. est ignorée (p. 156) Option TYPE_WARNING Problème 7705 : PostgreSQL ne prenant pas en charge l'option TYPE_WARNING, cette option est ignorée (p. 156) Utilisez cursors sans cette option. TYPES DE DONNEES Elément Problème Résolution BYTEA Problème 7818 : PostgreSQL ne prend pas en charge les opérations arithmétiques avec les types de données binaires (p. 157) Procédez à une conversion manuelle. geography Problème 7662 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. (p. 157) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. geometry Problème 7664 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. (p. 157) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. hierarchyid Problème 7657 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. (p. 157) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. rowversion Problème 7706 : PostgreSQL ne prend pas en charge ce type (p. 157) Procédez à une conversion manuelle. sql_variant Problème 7658 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. (p. 157) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Version 1.0 146 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Elément Problème Résolution table Problème 7659 : Le champ d'application des variables de table et des tables temporaires est différent. Vous devez appliquer une conversion manuelle si vous utilisez la récursivité. (p. 157) Procédez à une conversion manuelle. UDT Problème 7690 : PostgreSQL ne prend pas en charge les types de table (p. 157) Procédez à une conversion manuelle. XML Problème 7816 : PostgreSQL ne prend pas en charge les méthodes pour le type de données XML (p. 158) Procédez à une conversion manuelle. XML Problème 7817 : PostgreSQL ne prend pas en charge l'option [for xml path] dans les requêtes SQL (p. 158) Procédez à une conversion manuelle. Elément Problème Résolution CREATE INDEX Problème 7675 : PostgreSQL ne prend pas en Utilisez des index sans cette charge les options de tri (ASC | DESC) pour les option. contraintes (p. 158) CREATE INDEX Problème 7681 : PostgreSQL ne prend pas en charge les index organisés en cluster (p. 158) Utilisez des index non organisés en cluster. CREATE INDEX Problème 7682 : PostgreSQL ne prend pas en charge l'option INCLUDE dans les index (p. 158) Utilisez l'index sans cette option. CREATE INDEX Problème 7781 : PostgreSQL ne prend pas en charge l'option PAD_INDEX dans les index (p. 158) Utilisez l'index sans cette option. CREATE INDEX Problème 7782 : PostgreSQL ne prend pas en charge l'option SORT_IN_TEMPDB dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7783 : PostgreSQL ne prend pas en charge l'option IGNORE_DUP_KEY dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7784 : PostgreSQL ne prend pas en charge l'option STATISTICS_NORECOMPUTE dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7785 : PostgreSQL ne prend pas en charge l'option STATISTICS_INCREMENTAL dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7786 : PostgreSQL ne prend pas en charge l'option DROP_EXISTING dans les index (p. 159) Utilisez l'index sans cette option. DDL Version 1.0 147 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Elément Problème Résolution CREATE INDEX Problème 7787 : PostgreSQL ne prend pas en charge l'option ONLINE dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7788 : PostgreSQL ne prend pas en charge l'option ALLOW_ROW_LOCKS dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7789 : PostgreSQL ne prend pas en charge l'option ALLOW_PAGE_LOCKS dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7790 : PostgreSQL ne prend pas en charge l'option MAXDOP dans les index (p. 159) Utilisez l'index sans cette option. CREATE INDEX Problème 7791 : PostgreSQL ne prend pas en charge l'option DATA_COMPRESSION dans les index (p. 159) Utilisez l'index sans cette option. CREATE TABLE Problème 7679 : PostgreSQL ne prend pas en charge les colonnes calculées (p. 159) Essayez d'utiliser un déclencheur. CREATE TABLE Problème 7680 : PostgreSQL ne prend pas en charge les tables temporaires globales (p. 160) Utilisez des tables locales temporaires ou standard. CREATE TABLE Problème 7812 : La table temporaire doit être supprimée avant la fin de la fonction (p. 160) Examinez votre code transformé et modifiez-le, si nécessaire. CREATE TABLE Problème 7825 : La valeur par défaut d'une colonne DateTime a été supprimée (p. 160) Examinez le code généré et modifiez-le si nécessaire. Fonction en ligne Problème 7776 : La migration automatique des fonctions en ligne n'est pas prise en charge (p. 160) Procédez à une conversion manuelle. Elément Problème Résolution DELETE avec Table Hint Limited Problème 7623 : PostgreSQL ne prend pas en charge les indicateurs dans les instructions DELETE. La conversion ignore les options sous la forme WITH(Table_Hint_Limited). (p. 160) Utilisez les méthodes PostgreSQL d'optimisation des performances. TOP Problème 7798 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur DELETE (p. 160) Procédez à une conversion manuelle. DELETE Version 1.0 148 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL DML, FROM Elément Problème Résolution Indicateurs de table Problème 7823 : PostgreSQL ne prend pas en charge les indicateurs de table dans les instructions DML (p. 161) Utilisez les méthodes PostgreSQL d'optimisation des performances. Problème Résolution Problème 7695 : PostgreSQL ne prend pas en charge l'exécution d'une procédure comme variable (p. 161) Procédez à une conversion manuelle en utilisant le SQL dynamique. EXECUTE appliqué à une chaîne de caractères Problème 7672 : La conversion automatique de cette commande n'est pas prise en charge (p. 161) Procédez à une conversion manuelle. Exécuter une commande directe sur un serveur lié Problème 7645 : PostgreSQL ne prend pas en charge l'exécution d'une commande directe sur un serveur lié (p. 161) Utilisez d'autres méthodes pour exécuter des instructions sur un serveur distant. EXECUTE avec des options d'exécution [RECOMPILE] Problème 7640 : La commande EXECUTE assortie de l'option RECOMPILE est ignorée (p. 161) Utilisez la commande EXECUTE sans cette option. EXECUTE Elément EXECUTE avec des Problème 7643 : La commande EXECUTE options d'exécution assortie de l'option RESULT SETS <définition [RESULT SETS du jeu de résultats > est ignorée (p. 162) (<result_sets_definition>)] Utilisez la commande EXECUTE sans cette option. EXECUTE avec des options d'exécution [RESULT SETS NONE] Problème 7642 : La commande EXECUTE assortie de l'option RESULT SETS NONE est ignorée (p. 162) Utilisez la commande EXECUTE sans cette option. EXECUTE avec des options d'exécution [RESULT SETS UNDEFINED] Problème 7641 : La commande EXECUTE assortie de l'option RESULT SETS UNDEFINED est ignorée (p. 162) Utilisez la commande EXECUTE sans cette option. Elément Problème Résolution EXECUTE Problème 7819 : PostgreSQL ne prend pas en charge les instructions INSERT...EXECUTE (p. 162) Procédez à une conversion manuelle. TOP Problème 7799 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur INSERT (p. 162) Procédez à une conversion manuelle. INSERT Version 1.0 149 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Opérateurs Elément Problème Résolution Opérateurs au niveau du bit Problème 7804 : PostgreSQL ne prend pas en charge l'opérateur [OR exclusif au niveau du bit] (p. 163) Procédez à une conversion manuelle. Opérateurs de comparaison Problème 7805 : PostgreSQL ne prend pas en charge l'opérateur [Pas inférieur à] (p. 163) Procédez à une conversion manuelle. Opérateurs de comparaison Problème 7806 : PostgreSQL ne prend pas en charge l'opérateur [Pas supérieur à] (p. 163) Procédez à une conversion manuelle. Elément Problème Résolution Parser Error Problème 7663 : Impossible de résoudre l'objet (p. 163) Vérifiez si l'objet <nom d'objet> est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Elément Problème Résolution GROUP BY CUBE Problème 7653 : PostgreSQL ne prend pas en charge l'option GROUP BY ROLLUP. Impossible d'effectuer la conversion automatique. (p. 164) Essayez de créer une procédure stockée pour remplacer la requête. GROUP BY CUBE Problème 7654 : PostgreSQL ne prend pas en charge l'option GROUP BY CUBE. Impossible d'effectuer la conversion automatique. (p. 164) Essayez de créer une procédure stockée pour remplacer la requête. Group By Grouping Sets Problème 7655 : PostgreSQL ne prend pas en charge l'option GROUP BY GROUPING SETS. Impossible d'effectuer la conversion automatique. (p. 164) Essayez de créer une procédure stockée pour remplacer la requête. ORDER BY Définition d'un classement Problème 7646 : PostgreSQL ne prend pas en charge l'option COLLATE dans la clause ORDER BY. Impossible d'effectuer la conversion automatique. (p. 164) Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la création de la base de données. condition de recherche Problème 7687 : PostgreSQL ne prend pas en charge le prédicat CONTAINS (p. 164) Procédez à une conversion manuelle. Parser Error SELECT Version 1.0 150 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Elément Problème Résolution condition de recherche Problème 7688 : PostgreSQL ne prend pas en charge le prédicat FREETEXT (p. 164) Procédez à une conversion manuelle. condition de recherche Problème 7795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison des chaînes. (p. 164) Vérifiez la comparaison des chaînes. TOP WITH TIES Problème 7605 : PostgreSQL ne prend pas en charge l'option WITH TIES (p. 164) Procédez à une conversion manuelle. Elément Problème Résolution Type de données spécifique Problème 7793 : PostgreSQL ne prend pas en charge la modification du type de données dans les séquences (p. 165) Examinez votre code transformé et modifiez-le, si nécessaire. Elément Problème Résolution CREATE Problème 7792 : PostgreSQL ne prend pas en charge les synonymes (p. 165) Remplacez un synonyme par l'objet de base de données d'origine. Si l'objet d'origine est une table ou une vue, vous pouvez essayer de créer une vue dans une base de données qui dépend d'une table ou d'une vue dans une autre base de données. Elément Problème Résolution Objets SYS Problème 7904 : Impossible de convertir l'objet système <nom d'objet> (p. 165) Procédez à une conversion manuelle. SEQUENCE SYNONYMS Objets SYS TRANSACTION Elément Problème Résolution Transaction Problème 7807 : Les transactions dans les fonctions ne sont pas prises en charge par PostgreSQL (p. 165) Procédez à une conversion manuelle. Version 1.0 151 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL TRIGGERS Elément Problème Résolution Déclencheurs Problème 7809 : Dans PostgreSQL il n'y a pas d'équivalent de tables « insérées » et « supprimées » (p. 166) Procédez à une conversion manuelle. Unknown (inconnu) Elément Problème Résolution Problème 7627 : Cette conversion d'élément syntaxique n'est pas encore prise en charge (p. 167) Procédez à une conversion manuelle. Clause inconnue Problème 7674 : La conversion automatique de la clause <clause name> de l'instruction <statement name> n'est pas prise en charge (p. 167) Procédez à une conversion manuelle. SQL non analysé Question 7808 : SQL non analysé (p. 167) Procédez à une conversion manuelle. Elément Problème Résolution TOP Problème 7796 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur UPDATE (p. 167) Procédez à une conversion manuelle. UPDATE Problème 7797 : PostgreSQL n'a pas d'équivalent à l'option « OUTPUT » quand la table implicite « supprimée » est utilisée dans l'opérateur pour UPDATE (p. 168) Ce cas nécessite une conversion manuelle. Affectation de variable Problème 7829 : Impossible de convertir l'affectation de variable par l'instruction UPDATE (p. 169) Procédez à une conversion manuelle. UPDATE Types utilisateur Elément Problème Résolution Types de données définis par l'utilisateur Problème 7794 : PostgreSQL ne prend pas en charge les types de données définis par l'utilisateur (p. 169) Procédez à une conversion manuelle. Version 1.0 152 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problèmes de conversion des opérateurs arithmétiques Problème 7775 : Vérifier la conversion de types de données pour une perte possible de précision Pour éviter la perte de précision pour les types dans des opérations arithmétiques, convertissez les valeurs dans le type voulu, comme dans l'exemple suivant. BEGIN SELECT 5.1E+1::REAL INTO lBinaryFloat; SELECT - 5.2E-1::DOUBLE PRECISION INTO lBinaryDouble; var1 := (var_varchar1||var_varchar2)::INTEGER; var2 := (var_varchar1||var_varchar3)::NUMERIC; var3 := var_varchar1::NUMERIC + var_numeric2; var4 := var_timestamp2 + (var_numeric1::NUMERIC || 'day')::INTERVAL; END; Problème 7773 : Impossible d'effectuer une migration automatique des opérations arithmétiques avec les dates L'outil de conversion de schéma ne peut pas migrer automatiquement les opérations arithmétiques qui utilisent des types de date. Convertissez les valeurs dans le type voulu, comme dans l'exemple suivant. BEGIN var3 := var_varchar1::NUMERIC + var_numeric2; var4 := var_timestamp2 + (var_numeric1::NUMERIC || 'day')::INTERVAL; END; Problème 7774 : Impossible d'effectuer une migration automatique des opérations arithmétiques avec plusieurs types d'opérandes L'outil de conversion de schéma ne peut pas migrer automatiquement les opérations arithmétiques qui mélangent les types. Par exemple, multiplier une variable de type FLOAT avec une variable de type INT. Convertissez les valeurs dans le type voulu avant d'effectuer toute opération arithmétique, comme dans l'exemple suivant. BEGIN var1 := (var_varchar1||var_varchar2)::INTEGER; var2 := (var_varchar1||var_varchar3)::NUMERIC; END; Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) Version 1.0 153 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec BUILT-IN SERVICES Problème 7900 : PostgreSQL n'a pas de fonction similaire à Database Mail de SQL Server Essayez d'utiliser Amazon Simple Queue Service (Amazon SQS). Pour plus d'informations, consultez la section Présentation d'Amazon Simple Queue Service Problème 7901 : PostgreSQL n'a pas de fonction similaire à Service Broker de SQL Server Essayez d'utiliser Amazon Simple Queue Service (SQS). Pour plus d'informations, consultez la section Présentation d'Amazon Simple Queue Service dans la documentation Amazon SQS. Problème 7902 : PostgreSQL n'a pas de fonction similaire à SQL Server Agent Essayez d'utiliser le service AWS Lambda avec les événements planifiés. Pour plus d'informations, consultez la section Présentation d'AWS Lambda dans le manuel du développeur AWS Lambda. Problème 7903 : PostgreSQL n'a pas de fonction similaire à la sauvegarde SQL Server Essayez d'utiliser le service de stockage Amazon Glacier. Pour plus d'informations, consultez la section Présentation d'Amazon Glacier dans le manuel du développeur Amazon Glacier. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec BUILT-IN SQL FUNCTIONS Problème 7811 : PostgreSQL ne prend pas en charge la fonction SOUNDEX Créez une fonction définie par l'utilisateur. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CONTROL FLOW Problème 7800 : PostgreSQL ne prend pas en charge les jeux de résultats dans le style de MSSQL Examinez votre code transformé et modifiez-le, si nécessaire. Version 1.0 154 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problème 7801 : La table peut être verrouillée par un curseur ouvert Dans Microsoft SQL Server, une table temporaire locale créée dans une procédure stockée est supprimée automatiquement à la fin de la procédure stockée. En revanche, les tables temporaires dans PostgreSQL sont supprimées automatiquement à la fin d'une session. La conversion utilise l'instruction DROP TABLE IF EXISTS pour émuler ce comportement et supprimer la table temporaire avant la fin de la fonction qui l'a créée. Toutefois, dans certains cas, cette instruction peut échouer, car la table temporaire est verrouillée en raison d'un curseur ouvert. Dans ce cas, l'instruction DROP TABLE doit être mise en commentaire. Examinez votre code transformé et modifiez-le, si nécessaire. Problème 7802 : Une table créée dans la procédure doit être supprimée avant la fin de la procédure Examinez votre code transformé et modifiez-le, si nécessaire. Problème 7826 : Vérifier la valeur par défaut d'une variable DateTime Vérifiez la valeur par défaut d'une variable DateTime. Problème 7628 : PostgreSQL ne prend pas en charge l'option GOTO. Impossible d'effectuer la conversion automatique. Corrigez votre code de façon à éliminer les opérateurs GOTO, en utilisant des blocs BEGIN...END avec des opérateurs EXIT, REPEAT, UNTIL et WHILE. Problème 7821 : L'opérateur de conversion automatique WAITFOR assorti d'une variable n'est pas pris en charge Vous devez procéder à une conversion manuelle dans les cas où vous avez une instruction WAITFOR DELAY qui utilise une variable, par exemple WAITFOR DELAY @time;, à la place d'une valeur littérale comme WAITFOR DELAY '00:00:05';. Problème 7691 : PostgreSQL ne prend pas en charge la fonction WAITFOR TIME Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE Problème 7696 : Impossible de convertir l'objet en raison de la non création de %s Vérifiez l'objet <object name>. Problème 7813 : Objets chiffrés Déchiffrez l'objet avant la conversion. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) Version 1.0 155 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CURSORS Problème 7637 : PostgreSQL ne prend pas en charge GLOBAL CURSORS. Nécessite une conversion manuelle. Remplacez le curseur global par un curseur local ou corrigez votre code de sorte qu'il n'exige pas de curseurs globaux. Problème 7639 : PostgreSQL ne prend pas en charge les curseurs de type DYNAMIC Corrigez votre code de façon à supprimer l'option DYNAMIC des curseurs. Problème 7701 : La définition de cette option correspondant au comportement normal des curseurs dans PostgreSQL, cette option est ignorée L'option FAST_FORWARD est ignorée pendant la conversion, car les curseurs PostgreSQL offrent par défaut le même comportement que l'option FAST_FORWARD. Examinez votre code transformé et modifiez-le, si nécessaire. Problème 7803 : PostgreSQL ne prenant pas en charge l'option FOR UPDATE, cette option est ignorée L'option FOR_UPDATE est ignorée pendant la conversion, car PostgreSQL ne la prend pas en charge. Examinez votre code transformé et modifiez-le, si nécessaire. Problème 7700 : L'appartenance et l'ordre des lignes ne changeant jamais pour les curseurs dans PostgreSQL, cette option est ignorée Utilisez cursors sans cette option. Problème 7704 : PostgreSQL ne prenant pas en charge l'option OPTIMISTIC, cette option est ignorée Utilisez cursors sans cette option. Problème 7702 : Tous les curseurs PostgreSQL étant en lecture seule, cette option est ignorée Utilisez cursors sans cette option. Problème 7705 : PostgreSQL ne prenant pas en charge l'option TYPE_WARNING, cette option est ignorée Utilisez cursors sans cette option. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) Version 1.0 156 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DATA TYPES Problème 7818 : PostgreSQL ne prend pas en charge les opérations arithmétiques avec les types de données binaires Procédez à une conversion manuelle. Problème 7662 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. PostgreSQL ne prend pas en charge le type de données geography. Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Problème 7664 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. PostgreSQL ne prend pas en charge le type de données geometry. Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Problème 7657 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. PostgreSQL ne prend pas en charge le type de données hierarchyid. Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Problème 7706 : PostgreSQL ne prend pas en charge ce type PostgreSQL ne prend pas en charge le type de données rowversion. Pour stocker des données de ce type dans PostgreSQL, utiliser un type compatible avec PostgreSQL. Problème 7658 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. PostgreSQL ne prend pas en charge le type de données sql_variant. Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Problème 7659 : Le champ d'application des variables de table et des tables temporaires est différent. Vous devez appliquer une conversion manuelle si vous utilisez la récursivité. Procédez à une conversion manuelle. Problème 7690 : PostgreSQL ne prend pas en charge les types de table PostgreSQL ne prend pas en charge les paramètres de table dans les instructions CREATE PROCEDURE, comme le montre l'exemple suivant. CREATE TYPE Employee2Client AS TABLE( EmployeeID int, EmployeeName varchar(160), ClientID int, ClientName varchar(160) ) Version 1.0 157 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL go CREATE PROCEDURE [dbo].[PROC_CREATE_PROC_005] @p_E2C Employee2Client READONLY AS BEGIN select * from @p_E2C where upper(ClientName) like concat('%', upper('bank'), '%') ; Convertissez-les en tables temporaires ou en variables de ligne (par exemple, name table_name %ROWTYPE;). Problème 7816 : PostgreSQL ne prend pas en charge les méthodes pour le type de données XML Microsoft SQL Server propose des méthodes pour le type de données xml qui permettent de lire et manipuler les données XML. En revanche, le type de données xml de PostgreSQL n'offre pas de fonctionnalités similaires. Procédez à une conversion manuelle pour utiliser à la place les fonctionnalités de gestion XML de PostgreSQL. Problème 7817 : PostgreSQL ne prend pas en charge l'option [for xml path] dans les requêtes SQL PostgreSQL ne prend pas en charge l'utilisation de la clause FOR XML en mode PATH pour les instructions DML. Procédez à une conversion manuelle pour utiliser à la place les fonctionnalités de gestion XML de PostgreSQL. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DDL Problème 7675 : PostgreSQL ne prend pas en charge les options de tri (ASC | DESC) pour les contraintes Supprimez ces options des index et des contraintes. Problème 7681 : PostgreSQL ne prend pas en charge les index organisés en cluster Utilisez des index non organisés en cluster. Problème 7682 : PostgreSQL ne prend pas en charge l'option INCLUDE dans les index Utilisez l'index sans cette option. Problème 7781 : PostgreSQL ne prend pas en charge l'option PAD_INDEX dans les index Utilisez l'index sans cette option. Version 1.0 158 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problème 7782 : PostgreSQL ne prend pas en charge l'option SORT_IN_TEMPDB dans les index Utilisez l'index sans cette option. Problème 7783 : PostgreSQL ne prend pas en charge l'option IGNORE_DUP_KEY dans les index Utilisez l'index sans cette option. Problème 7784 : PostgreSQL ne prend pas en charge l'option STATISTICS_NORECOMPUTE dans les index Utilisez l'index sans cette option. Problème 7785 : PostgreSQL ne prend pas en charge l'option STATISTICS_INCREMENTAL dans les index Utilisez l'index sans cette option. Problème 7786 : PostgreSQL ne prend pas en charge l'option DROP_EXISTING dans les index Utilisez l'index sans cette option. Problème 7787 : PostgreSQL ne prend pas en charge l'option ONLINE dans les index Utilisez l'index sans cette option. Problème 7788 : PostgreSQL ne prend pas en charge l'option ALLOW_ROW_LOCKS dans les index Utilisez l'index sans cette option. Problème 7789 : PostgreSQL ne prend pas en charge l'option ALLOW_PAGE_LOCKS dans les index Utilisez l'index sans cette option. Problème 7790 : PostgreSQL ne prend pas en charge l'option MAXDOP dans les index Utilisez l'index sans cette option. Problème 7791 : PostgreSQL ne prend pas en charge l'option DATA_COMPRESSION dans les index Utilisez l'index sans cette option. Problème 7679 : PostgreSQL ne prend pas en charge les colonnes calculées Essayez d'utiliser plutôt un déclencheur. Version 1.0 159 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problème 7680 : PostgreSQL ne prend pas en charge les tables temporaires globales Utilisez des tables locales temporaires ou standard. Problème 7812 : La table temporaire doit être supprimée avant la fin de la fonction Examinez votre code transformé et modifiez-le, si nécessaire. Problème 7825 : La valeur par défaut d'une colonne DateTime a été supprimée Examinez le code généré et modifiez-le si nécessaire. Problème 7776 : La migration automatique des fonctions en ligne n'est pas prise en charge Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DELETE Problème 7623 : PostgreSQL ne prend pas en charge les indicateurs dans les instructions DELETE. La conversion ignore les options sous la forme WITH(Table_Hint_Limited). PostgreSQL ne prend pas en charge l'utilisation d'indicateurs (par exemple, WITH FORCESCAN) pour remplacer le comportement par défaut de l'optimiseur de requête pendant l'exécution d'instructions DML (Data Manipulation Language, langage de manipulation de données). Utilisez plutôt les méthodes PostgreSQL d'optimisation des performances. Problème 7798 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur DELETE Procédez à une conversion manuelle pour les instructions DELETE qui contiennent un argument TOP, comme dans l'exemple suivant. delete top (<expression >)[PERCENT] from <table-name>; Dans PostgreSQL, vous pouvez utiliser une sous-requête dans la clause WHERE pour identifier les lignes à supprimer. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) Version 1.0 160 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DML, FROM Problème 7823 : PostgreSQL ne prend pas en charge les indicateurs de table dans les instructions DML PostgreSQL ne prend pas en charge l'utilisation d'indicateurs (par exemple, WITH FORCESCAN) pour remplacer le comportement par défaut de l'optimiseur de requête pendant l'exécution d'instructions DML (Data Manipulation Language, langage de manipulation de données). Utilisez plutôt les méthodes PostgreSQL d'optimisation des performances. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'EXECUTE Problème 7695 : PostgreSQL ne prend pas en charge l'exécution d'une procédure comme variable Effectuez une conversion manuelle (une solution est d'utiliser le SQL dynamique). Ce problème se produit lorsque vous passez le nom d'une procédure à une instruction EXECUTE en utilisant une variable, comme dans l'exemple suivant. ALTER PROCEDURE [dbo].[PROC_EXECUTE_009] AS SET NOCOUNT ON BEGIN declare @v_ID int; declare @v_ProcName varchar(20) = '[dbo].[PROC_DML_015]'; exec @v_ProcName @v_ID output Problème 7672 : La conversion automatique de cette commande n'est pas prise en charge Ce problème est souvent causé par une instruction EXECUTE qui exécute une chaîne ou une variable, par exemple EXEC('select * from Customer'); ou EXEC(@variable);. Convertissez chacune de ces instructions en paire d'instructions PREPARE et EXECUTE dans PostgreSQL. Problème 7645 : PostgreSQL ne prend pas en charge l'exécution d'une commande directe sur un serveur lié Utilisez d'autres méthodes pour exécuter des instructions sur un serveur distant. Problème 7640 : La commande EXECUTE assortie de l'option RECOMPILE est ignorée Utilisez la commande EXECUTE sans cette option. Version 1.0 161 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problème 7643 : La commande EXECUTE assortie de l'option RESULT SETS <définition du jeu de résultats > est ignorée Utilisez la commande EXECUTE sans cette option. Problème 7642 : La commande EXECUTE assortie de l'option RESULT SETS NONE est ignorée Utilisez la commande EXECUTE sans cette option. Problème 7641 : La commande EXECUTE assortie de l'option RESULT SETS UNDEFINED est ignorée Utilisez la commande EXECUTE sans cette option. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'INSERT Problème 7819 : PostgreSQL ne prend pas en charge les instructions INSERT...EXECUTE Procédez à une conversion manuelle. PostgreSQL ne prend pas en charge l'utilisation d'EXECUTE au sein d'une instruction INSERT pour insérer les résultats d'une procédure stockée dans une table. Problème 7799 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur INSERT Procédez à une conversion manuelle pour les instructions INSERT qui contiennent un argument TOP, comme dans l'exemple suivant. insert TOP(2) percent into Customer( id ,sname ,name ,typeid ,taxcode ,stateid ,opendate ,closedate )select id+1000 ,name ,name ,4 ,61+id ,1 ,getdate() ,null from Version 1.0 162 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL employees e where name not in(select name from Customer) and exists(select 1 from Employees where ManagerId = e.id) Dans PostgreSQL, vous pouvez utiliser la fonction de fenêtrage row_number() dans la clause FROM ou une sous-requête dans la clause WHERE de l'instruction SELECT que vous utilisez pour sélectionner les données à insérer pour identifier les lignes que vous souhaitez insérer. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'opérateurs Problème 7804 : PostgreSQL ne prend pas en charge l'opérateur [OR exclusif au niveau du bit] Procédez à une conversion manuelle. Problème 7805 : PostgreSQL ne prend pas en charge l'opérateur [Pas inférieur à] Procédez à une conversion manuelle. Problème 7806 : PostgreSQL ne prend pas en charge l'opérateur [Pas supérieur à] Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'erreur d'analyse (Parser Error) Problème 7663 : Impossible de résoudre l'objet Vérifiez si l'objet <nom d'objet> est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 163 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problèmes de conversion de SELECT Problème 7653 : PostgreSQL ne prend pas en charge l'option GROUP BY ROLLUP. Impossible d'effectuer la conversion automatique. Essayez de créer une procédure stockée pour remplacer la requête. Problème 7654 : PostgreSQL ne prend pas en charge l'option GROUP BY CUBE. Impossible d'effectuer la conversion automatique. Essayez de créer une procédure stockée pour remplacer la requête. Problème 7655 : PostgreSQL ne prend pas en charge l'option GROUP BY GROUPING SETS. Impossible d'effectuer la conversion automatique. Essayez de créer une procédure stockée pour remplacer la requête. Problème 7646 : PostgreSQL ne prend pas en charge l'option COLLATE dans la clause ORDER BY. Impossible d'effectuer la conversion automatique. Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la création de la base de données. Problème 7687 : PostgreSQL ne prend pas en charge le prédicat CONTAINS A la place, procédez à une conversion manuelle en réécrivant l'instruction SELECT pour utiliser la fonctionnalité de recherche en texte intégral PostgreSQL. Pour plus d'informations sur la recherche en texte intégral dans PostgreSQL, consultez Tables and Indexes dans la documentation PostgreSQL. Problème 7688 : PostgreSQL ne prend pas en charge le prédicat FREETEXT A la place, procédez à une conversion manuelle en réécrivant l'instruction SELECT pour utiliser la fonctionnalité de recherche en texte intégral PostgreSQL. Pour plus d'informations sur la recherche en texte intégral dans PostgreSQL, consultez Tables and Indexes dans la documentation PostgreSQL. Problème 7795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison des chaînes. Vérifiez les comparaisons de chaînes dans les clauses WHERE des instructions, par exemple WHERE [Name] LIKE '%BLOCKED%';. Toutes les chaînes utilisées dans les comparaisons doivent être en lettres minuscules. Problème 7605 : PostgreSQL ne prend pas en charge l'option WITH TIES Procédez à une conversion manuelle des instructions TOP qui utilisent la clause WITH TIES. Vous pouvez utiliser la fonction de fenêtrage rank() dans PostgreSQL pour fournir des résultats similaires. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 164 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Problèmes de conversion de SEQUENCE Problème 7793 : PostgreSQL ne prend pas en charge la modification du type de données dans les séquences PostgreSQL ne prend pas en charge la définition du type de données d'une séquence en utilisant la clause AS de l'instruction CREATE SEQUENCE. Examinez votre code transformé et modifiez-le, si nécessaire. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec SYNONYMS Problème 7792 : PostgreSQL ne prend pas en charge les synonymes PostgreSQL ne prend pas en charge l'instruction CREATE SYNONYM. Pour convertir, remplacez le synonyme dans n'importe quelle instruction par l'objet de base de données d'origine. Si l'objet d'origine est une table ou une vue, vous pouvez essayer de créer une vue dans une base de données qui dépend d'une table ou d'une vue d'une autre base de données. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec les objets SYS Problème 7904 : Impossible de convertir l'objet système <nom d'objet> Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de TRANSACTION Problème 7807 : Les transactions dans les fonctions ne sont pas prises en charge par PostgreSQL Procédez à une conversion manuelle pour corriger ce problème. Version 1.0 165 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL PostgreSQL prend en charge les transactions locales dans le cadre d'une session client donnée. Vous devez convertir manuellement les transactions Microsoft SQL Server pour utiliser à la place les instructions de gestion des transactions PostgreSQL. PostgreSQL ne prend pas en charge les transactions nommées ou distribuées, les transactions de marquage ou la gestion des transactions au sein des fonctions. Pour plus d'informations sur l'utilisation des transactions dans PostgreSQL, consultez TRANSACTIONS dans la documentation PostgreSQL. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec TRIGGERS Problème 7809 : Dans PostgreSQL il n'y a pas d'équivalent de tables « insérées » et « supprimées » PostgreSQL ne prend pas en charge les tables virtuelles insérées ou supprimées. Pour convertir manuellement un déclencheur qui utilise ces tables de Microsoft SQL Server vers PostgreSQL, effectuez les étapes suivantes : 1. Créez une fonction déclencheur. La fonction déclencheur doit être déclarée comme une fonction ne prenant aucun argument et retournant un déclencheur type. La valeur retournée doit être NEW, OLD ou NULL, en fonction du type d'un déclencheur. Le corps de la fonction doit être SQL pris en charge par PostgreSQL pour remplacer le corps du déclencheur Microsoft SQL Server sans utiliser les tables virtuelles. Le nom de la fonction doit avoir le format schema_name.fn_<%trigger_name%>(). 2. Créez un déclencheur avec CREATE TRIGGER qui exécute la fonction déclencheur. Par exemple, pensez à utiliser le déclencheur Microsoft SQL Server suivant. CREATE TRIGGER [dbo].[tr_customerStateExt_aiu] ON [dbo].[CustomerStateExt] AFTER INSERT, UPDATE AS BEGIN IF EXISTS (SELECT * FROM inserted WHERE LEN(Name) < 5) BEGIN RAISERROR ('The name must be longer than five characters.', 16, 1); ROLLBACK TRANSACTION; RETURN END; END GO A l'aide de l'approche décrite, ce déclencheur est converti en déclencheur PostgreSQL suivant. CREATE OR REPLACE FUNCTION mydb_dbo.fn_tr_customerStateExt_aiu() RETURNS trigger AS $BODY$ BEGIN <SQL to write around use of the inserted and deleted virtual tables> END; Version 1.0 166 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL $BODY$ LANGUAGE plpgsql; CREATE TRIGGER tr_customerStateExt_aiu AFTER INSERT OR UPDATE ON mydb_dbo.CustomerStateExt FOR EACH STATEMENT EXECUTE PROCEDURE mydb_dbo.fn_tr_customerStateExt_aiu(); Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion inconnus (Unknown) Problème 7627 : Cette conversion d'élément syntaxique n'est pas encore prise en charge Procédez à une conversion manuelle. Problème 7674 : La conversion automatique de la clause <clause name> de l'instruction <statement name> n'est pas prise en charge Procédez à une conversion manuelle pour corriger ce problème. Une cause courante de ce problème est les instructions SET dans Microsoft SQL Server qui affectent la gestion de la session en cours (une liste complète de ces instructions SET est disponible dans SET Statements (Transact-SQL)). Ces instructions ne sont pas prises en charge dans PostgreSQL, et vous avez donc besoin d'effectuer une conversion manuelle vers une instruction PostgreSQL SET. Pour plus d'informations sur l'utilisation d'une instruction SET dans PostgreSQL, consultez la page SET dans la documentation PostgreSQL. Question 7808 : SQL non analysé Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'UPDATE Problème 7796 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur UPDATE Procédez à une conversion manuelle pour les instructions UPDATE qui contiennent un argument TOP, comme dans l'exemple suivant. update top(10) Version 1.0 167 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL Account set AccountBalance = AccountBalance - 1 where AccountBalance > 15723 ; ou : update top(5) percent Account set AccountBalance = AccountBalance - 1 where AccountBalance > 15723 ; Dans PostgreSQL, vous pouvez utiliser la fonction de fenêtrage row_number() dans la clause FROM ou une sous-requête dans la clause WHERE de l'instruction UPDATE pour identifier les lignes à modifier. Problème 7797 : PostgreSQL n'a pas d'équivalent à l'option « OUTPUT » quand la table implicite « supprimée » est utilisée dans l'opérateur pour UPDATE Procédez à une conversion manuelle pour les instructions UPDATE qui utilisent la clause OUTPUT et qui font référence à la table virtuelle supprimée, comme dans l'exemple suivant. update Customer set name = 'Mister ' + name output deleted.id, deleted.name, inserted.id, inserted.name where TypeID = 4 Dans PostgreSQL, utilisez une sous-requête dans la clause RETURNING pour retourner les informations sur la table supprimée. Cette approche nécessite que la table ait un champ de clé primaire. update mydb_dbo.Customer c set name = 'Mister ' || name where TypeID = 4 returning (select id from mydb_dbo.Customer where id = c.id) ,(select name from mydb_dbo.Customer where id = c.id) ,id ,name Si la clé primaire se compose de plusieurs champs, vous devez faire référence à tous ces champs dans la sous-requête. Prenons l'exemple de l'instruction suivante dans SQL Server où id1 et id2 sont les champs de clé primaire de la table TestMultiPK. UPDATE [TestMultiPK] SET [Description] = 'Test' output deleted.id1, deleted.id2, deleted.Description, inserted.id1, Version 1.0 168 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL inserted.id2, inserted.Description where ID = 0 La conversion PostgreSQL se présente comme suit. UPDATE [TestMultiPK] t SET [Description] = 'Test' WHERE ID = 0 returning select (id1 from TestMultiPK where id1 = t.id1 and id2 = t.id2) , select (id2 from TestMultiPK where id1 = t.id1 and id2 = t.id2) , select (Description from TestMultiPK where id1 = t.id1 and id2 = t.id2) , id1 , id2 , Description Problème 7829 : Impossible de convertir l'affectation de variable par l'instruction UPDATE Procédez à une conversion manuelle. Ce problème se produit lorsque vous utilisez une instruction UPDATE pour modifier la valeur d'une variable, comme dans l'exemple suivant. CREATE PROCEDURE [dbo].[PROC_DML_UPDATE_FROM_3] AS BEGIN DECLARE @AccountBalance FLOAT = 400; UPDATE SET FROM WHERE END bank @AccountBalance = 500 bank id = 50005; Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des types utilisateur Problème 7794 : PostgreSQL ne prend pas en charge les types de données définis par l'utilisateur Pour résoudre ce problème, convertissez manuellement chaque instruction sp_ addtype ou CREATE TYPE dans Microsoft SQL Server en instruction CREATE TYPE dans PostgreSQL. Pour plus d'informations sur la création d'un type de données défini par l'utilisateur dans PostgreSQL, consultez CREATE TYPE dans la documentation PostgreSQL. Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 143) • Informations de référence sur AWS Schema Conversion Tool (p. 94) Version 1.0 169 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge de MySQL vers PostgreSQL • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Conversion de schéma prise en charge de MySQL vers PostgreSQL Les sections suivantes dressent la liste des éléments de schéma d'une base de données MySQL et indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers PostgreSQL à l'aide d'AWS Schema Conversion Tool. DDL Instructions Alter ALTER TABLE Clause Conversion automatique ADD CONSTRAINT Oui ADD INDEX Oui Détails Instructions Create CREATE INDEX Clause Conversion automatique INDEX Oui Index UNIQUE Oui Détails CREATE PROCEDURE Clause Conversion automatique PARAMETRES : IN, OUT, INOUT Oui Avec des paramètres de sortie Oui Sans paramètres de sortie Oui Détails Version 1.0 170 AWS Schema Conversion Tool Guide de l'utilisateur DML CREATE TABLE Clause Conversion automatique Tables standard Oui Tables temporaires Oui Détails CREATE TRIGGER Clause Conversion automatique Déclencheurs FOR EACH ROW Oui Evénement déclencheur (Insert/Update/Delete) Oui Temps de déclenchement (Before/After) Oui Détails CREATE VIEW Clause Conversion automatique Détails Avec l'OPTION ALGORITHM Partielle Problème 8824 : L'option ALGORITHM n'est pas pris en charge (p. 200) Avec l'OPTION CHECK Oui Dénomination d'objets Clause Conversion automatique Schémas Oui Tables, colonnes Oui Détails DML Clauses FROM Clause Conversion automatique CROSS JOIN Oui Détails Version 1.0 171 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique INNER JOIN Oui join_condition: ...ON conditional_expr Oui join_condition: … USING (column_list) Oui LEFT JOIN Oui LEFT OUTER JOIN Oui NATURAL LEFT JOIN Oui NATURAL LEFT OUTER JOIN Oui NATURAL RIGHT JOIN Oui NATURAL RIGHT OUTER JOIN Oui RIGHT JOIN Oui RIGHT OUTER JOIN Oui STRAIGHT_JOIN Oui Sous-requêtes dans la clause FROM Oui tables_list Oui Détails Instructions DELETE Clause Conversion automatique Détails IGNORE Partielle Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 196) LIMIT Oui LOW_PRIORITY Partielle Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 196) Syntaxe à plusieurs tables Partielle Problème 8834 : PostgreSQL ne peut pas effectuer une suppression à partir de plusieurs tables en même temps (p. 197) Syntaxe à plusieurs tables avec USING Partielle Problème 8834 : PostgreSQL ne peut pas effectuer une suppression à partir de plusieurs tables en même temps (p. 197) Version 1.0 172 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails ORDER BY Oui QUICK Partielle Problème 8832 : PostgreSQL n'a pas une option similaire à QUICK pour les instructions DML (p. 196) Clause Conversion automatique Détails IGNORE Partielle Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 196) LOW_PRIORITY | DELAYED | HIGH_PRIORITY Partielle Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 196) ON DUPLICATE KEY UPDATE Non Problème 8829 : PostgreSQL n'a pas d'équivalent de clause ON DUPLICATE KEY UPDATE (p. 196) Instruction SELECT pour insert Oui SET col1=expr1,.. Oui VALUES(,…,)|VALUE(,…,) Oui INSERT SELECT Clause Conversion automatique DISTINCT Oui GROUP BY ASC, DESC Oui GROUP BY col_name,… Oui GROUP BY expression Oui GROUP BY plusieurs options Oui GROUP BY position,… Oui GROUP BY WITH ROLLUP Non HAVING Oui HIGH_PRIORITY Partielle LIMIT offset, row_count Oui Détails Problème 8653 : PostgreSQL ne prend pas en charge l'option GROUP BY ROLLUP (p. 199) Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) Version 1.0 173 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails LIMIT row_count OFFSET offset Oui MAX_STATEMENT_TIME = N Partielle ORDER BY col_name,… Oui ORDER BY expression Oui ORDER BY plusieurs options Oui ORDER BY position,… Oui SQL_BIG_RESULT Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) SQL_BUFFER_RESULT Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) SQL_CACHE Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) SQL_CALC_FOUND_ROWS Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) SQL_NO_CACHE Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) SQL_SMALL_RESULT Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) STRAIGHT_JOIN Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) Sélectionner toutes les colonnes (en utilisant * et des alias) Oui Sélectionner toutes les colonnes (en utilisant *) Oui Sélectionner un sousensemble de colonnes Oui Sélectionner avec des calculs Oui Sélectionner avec en-tête de colonne Oui Sélectionner avec des constantes Oui Sous-requête comme opérande scalaire Oui Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) Version 1.0 174 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions UPDATE Clause Conversion automatique DEFAULT VALUES Oui IGNORE Partielle LIMIT Oui LOW_PRIORITY Partielle Syntaxe à plusieurs tables Oui ORDER BY Oui Détails Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 196) Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 196) Fonctions Agrégation Clause Conversion automatique AVG() Oui BIT_AND() Oui BIT_OR() Oui BIT_XOR() Non COUNT() Oui COUNT(DISTINCT) Non GROUP_CONCAT() Oui MAX() Oui MIN() Oui STD() Oui STDDEV() Oui STDDEV_POP() Oui STDDEV_SAMP() Oui SUM() Oui VAR_POP() Oui VAR_SAMP() Oui VARIANCE() Oui Détails Version 1.0 175 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Bit Clause Conversion automatique BIT_COUNT() Oui Détails Flux de contrôle Clause Conversion automatique CASE Oui IF() Oui IFNULL() Oui NULLIF() Oui Détails Conversion Clause Conversion automatique BINARY Oui CAST() Oui CONVERT() Oui Détails Date et heure Clause Conversion automatique ADDDATE() Oui ADDTIME() Oui CONVERT_TZ() Oui CURDATE() Oui Détails CURRENT_DATE(), CURRENT_DATE Oui CURRENT_TIME(), CURRENT_TIME Oui CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP Oui CURTIME() Oui DATE() Oui Version 1.0 176 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique DATE_ADD() Oui DATE_FORMAT() Oui DATE_SUB() Oui DATEDIFF() Oui DAY() Oui DAYNAME() Oui DAYOFMONTH() Oui DAYOFWEEK() Oui DAYOFYEAR() Oui EXTRACT() Oui FROM_DAYS() Oui FROM_UNIXTIME() Oui GET_FORMAT() Oui HOUR() Oui LAST_DAY Oui LOCALTIME(), LOCALTIME Oui Détails LOCALTIMESTAMP, LOCALTIMESTAMP() Oui MAKEDATE() Oui MAKETIME() Oui MICROSECOND() Oui MINUTE() Oui MONTH() Oui MONTHNAME() Oui NOW() Oui PERIOD_ADD() Oui PERIOD_DIFF() Oui QUARTER() Oui SEC_TO_TIME() Oui SECOND() Oui STR_TO_DATE() Oui Version 1.0 177 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique SUBDATE() Oui SUBTIME() Oui SYSDATE() Non TIME() Oui TIME_FORMAT() Oui TIME_TO_SEC() Oui TIMEDIFF() Oui TIMESTAMP() Oui TIMESTAMPADD() Oui TIMESTAMPDIFF() Oui TO_DAYS() Oui TO_SECONDS() Oui UNIX_TIMESTAMP() Oui UTC_DATE() Oui UTC_TIME() Oui UTC_TIMESTAMP() Oui WEEK() Non WEEKDAY() Oui WEEKOFYEAR() Oui YEAR() Oui YEARWEEK() Non Détails Chiffrement et compression Clause Conversion automatique AES_DECRYPT() Non AES_ENCRYPT() Non COMPRESS() Non DECODE() Non DES_DECRYPT() (a rendu obsolète 5.7.6) Non Détails Version 1.0 178 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique DES_ENCRYPT() (a rendu obsolète 5.7.6) Non ENCODE() Non ENCRYPT() (a rendu obsolète 5.7.6) Non MD5() Non OLD_PASSWORD() Non PASSWORD() (a rendu obsolète 5.7.6) Non RANDOM_BYTES() Non SHA1(), SHA() Non SHA2() Non UNCOMPRESS() Non Détails UNCOMPRESSED_LENGTH()Non VALIDATE_PASSWORD_STRENGTH() Non Informations Clause Conversion automatique BENCHMARK() Non CHARSET() Non COERCIBILITY() Non COLLATION() Non CONNECTION_ID() Non Détails CURRENT_USER(), CURRENT_USER Non DATABASE() Non FOUND_ROWS() Non LAST_INSERT_ID() Non ROW_COUNT() Non SCHEMA() Non SESSION_USER() Non SYSTEM_USER() Non Version 1.0 179 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique USER() Non VERSION() Non Détails Mathématique Clause Conversion automatique ABS() Oui ACOS() Oui ASIN() Oui ATAN() Oui ATAN2() Oui CEIL() Oui CEILING() Oui CONV() Non COS() Oui COT() Oui CRC32() Oui DEGREES() Oui EXP() Oui FLOOR() Oui LN() Oui LOG() Oui LOG10() Oui LOG2() Oui MOD() Oui PI() Oui POW() Oui POWER() Oui RADIANS() Oui RAND() Oui Détails Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) Version 1.0 180 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique ROUND(X) Oui SIGN() Oui SIN() Oui SQRT() Oui TAN() Oui TRUNCATE() Oui Détails Chaîne Clause Conversion automatique Détails ASCII() Oui BIN() Oui BIT_LENGTH() Oui CHAR() Oui CHAR_LENGTH() Oui CHARACTER_LENGTH() Oui CONCAT() Non CONCAT_WS() Non ELT() Oui EXPORT_SET() Oui FIELD() Oui FIND_IN_SET() Oui FORMAT() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) FROM_BASE64() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) HEX() Oui INSERT() Oui INSTR() Oui LCASE() Oui LEFT() Oui Version 1.0 181 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion automatique Détails LENGTH() Oui LIKE Oui LOAD_FILE() Non LOCATE() Oui LOWER() Oui LPAD() Oui LTRIM() Oui MAKE_SET() Oui MATCH Non MID() Oui NOT REGEXP Oui NOT RLIKE Oui OCT() Oui OCTET_LENGTH() Oui ORD() Oui POSITION() Oui QUOTE() Oui REGEXP Oui REPEAT() Oui REPLACE() Oui REVERSE() Oui RIGHT() Oui RLIKE Oui RPAD() Oui RTRIM() Non SOUNDEX() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) SOUNDS LIKE Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) SPACE() Oui Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) Version 1.0 182 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion automatique Détails STRCMP() Oui SUBSTR() Oui SUBSTRING() Oui SUBSTRING_INDEX() Oui TO_BASE64() Non TRIM() Oui UCASE() Oui UNHEX() Oui UPPER() Oui WEIGHT_STRING() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) Clause Conversion automatique Détails ExtractValue() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) UpdateXML() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) XML Types de données Date et heure Type de données Converti Détails automatiquement en DATE date DATETIME horodatage sans fuseau horaire TIME time TIMESTAMP horodatage sans fuseau horaire Version 1.0 183 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Converti Détails automatiquement en YEAR smallint YEAR (M) smallint JSON Type de données Converti Détails automatiquement en JSON VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Numérique Types integer (entier) Type de données Converti Détails automatiquement en BIGINT [SIGNED] bigint BIGINT UNSIGNED numeric BOOL boolean Problème 8848 : Dans MySQL, le type BOOLEAN est un synonyme pour TINYINT (p. 195) BOOLEAN boolean Problème 8848 : Dans MySQL, le type BOOLEAN est un synonyme pour TINYINT (p. 195) INT [INTEGER] [SIGNED] integer INT [INTEGER] UNSIGNED bigint MEDIUMINT [SIGNED] integer MEDIUMINT UNSIGNED integer SMALLINT [SIGNED] smallint SMALLINT UNSIGNED integer TINYINT [SIGNED] smallint TINYINT UNSIGNED smallint Version 1.0 184 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Bit Type de données Converti Détails automatiquement en BIT bit Virgule fixe Type de données Converti Détails automatiquement en DEC numeric DEC (p) numeric DEC (p,s) numeric DECIMAL numeric DECIMAL (p) numeric DECIMAL (p,s) numeric NUMERIC numeric NUMERIC (p) numeric NUMERIC (p,s) numeric Virgule flottante Type de données Converti Détails automatiquement en DOUBLE double precision DOUBLE PRECISION double precision DOUBLE PRECISION (p) double precision DOUBLE PRECISION (p,s) double precision DOUBLE(p) double precision DOUBLE(p,s) double precision FLOAT real Version 1.0 185 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Converti Détails automatiquement en FLOAT(p) précision de 1 à 24 : real précision > 24 : double précision FLOAT(p's) double precision REAL double precision REAL(p) double precision REAL(p,s) double precision Types de données spatiales Type de données Converti Détails automatiquement en GEOMETRY VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) GEOMETRYCOLLECTION VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) LINESTRING VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) MULTILINESTRING VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) MULTIPOINT VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) MULTIPOLYGON VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) POINT VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) POLYGON VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Version 1.0 186 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Chaîne Type de données Converti Détails automatiquement en BINARY bytea Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) BLOB bytea Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) CHAR char CHAR(len) char ENUM CREATE ENUM type utilisateur LONGBLOB bytea LONGTEXT text MEDIUMBLOB bytea MEDIUMTEXT text SET VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) TEXT text TINYBLOB bytea TINYTEXT text VARBINARY(len) bytea VARCHAR(len) varchar Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Informations de référence sur la conversion de MySQL vers PostgreSQL. BUILT-IN SQL FUNCTIONS Elément Problème Résolution Fonction Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 192) Créez une fonction définie par l'utilisateur. Version 1.0 187 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Elément Problème Résolution Fonction Problème 8849 : PostgreSQL ne prend pas en charge la fonction %s avec les valeurs de paramètre %s (p. 192) Créez une fonction définie par l'utilisateur. Fonction Problème 8850 : Certaines valeurs des paramètres de la fonction %s ne sont pas prises en charge (p. 192) Vous devez vérifier le résultat de la conversion Fonction Problème 8851 : PostgreSQL ne prend pas en charge l'utilisation des fonctions d'agrégation dans la liste SELECT sans une clause GROUP BY (p. 192) Procédez à une conversion manuelle. Fonction Problème 8854 : PostgreSQL ne prend pas en charge la fonction %s avec des paramètres (p. 193) Procédez à une conversion manuelle. CONTROL FLOW Elément Problème Résolution CURSORS Problème 8845 : La fonctionnalité de décompte de lignes n'est pas prise en charge derrière l'instruction « open cursor » (p. 193) Procédez à une conversion manuelle. DECLARE / DEFAULT VALUE Problème 8826 : Vérifiez la valeur par défaut d'une variable Date ou DateTime (p. 193) Examinez le code généré et modifiez-le si nécessaire. DECLARE / DEFAULT VALUE Problème 8828 : Les variables définies par l'utilisateur ne sont pas prises en charge dans PostgreSQL (p. 193) Procédez à une conversion manuelle. gestion des erreurs Problème 8844 : Les codes d'erreur ne sont pas identiques (p. 193) Vous devez vérifier le résultat de la conversion gestion des erreurs Problème 8846 : PostgreSQL ne prend pas en charge l'option d'instruction %s (p. 194) Procédez à une conversion manuelle. gestion des erreurs Problème 8847 : PostgreSQL ne peut pas retourner à un point d'appel après le traitement d'une erreur (p. 194) Procédez à une conversion manuelle. LABEL Problème 8827 : La syntaxe des libellés d'instruction pour les blocs BEGIN...END n'est pas prise en charge dans PostgreSQL (p. 194) Procédez à une conversion manuelle. PROCESS_LIST Problème 8856 : Les informations des processus de serveur varient en fonction des serveurs (p. 194) Vérifiez le résultat de votre conversion. REPLICATION Problème 8857 : La conversion automatique n'est pas prise en charge pour les commandes de réplication (p. 194) Procédez à une conversion manuelle. Version 1.0 188 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Elément Problème Résolution SLEEP Problème 8853 : Procédez à une conversion manuelle si vous utilisez SLEEP() avec d'autres expressions (p. 194) Procédez à une conversion manuelle. Problème Résolution Problème 8654 : Impossible de convertir l'objet en raison de la non création de %s (p. 195) Examinez l'objet %s. Elément Problème Résolution BOOLEAN Problème 8848 : Dans MySQL, le type BOOLEAN est un synonyme pour TINYINT (p. 195) Vérifiez-le lorsque vous insérez des données à partir d'une variables de type BOOLEAN dans la base de données. DATATYPES Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 195) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Elément Problème Résolution CREATE TABLE Problème 8825 : Vérifiez la valeur par défaut d'une colonne Date ou DateTime (p. 195) Examinez le code généré et modifiez-le si nécessaire. DROP TABLE Problème 8801 : La table peut être verrouillée par un curseur ouvert (p. 196) Examinez votre code transformé et modifiez-le, si nécessaire. Elément Problème Résolution DML Problème 8829 : PostgreSQL n'a pas d'équivalent de clause ON DUPLICATE KEY UPDATE (p. 196) Procédez à une conversion manuelle. DML Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 196) Utilisez l'instruction DML sans cette option. CREATE Elément DATATYPES DDL DML Version 1.0 189 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Elément Problème Résolution DML Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 196) Utilisez l'instruction DML sans cette option. DML Problème 8832 : PostgreSQL n'a pas une option similaire à QUICK pour les instructions DML (p. 196) Utilisez l'instruction DML sans cette option. DML Problème 8833 : PostgreSQL ne peut pas mettre à jour plusieurs tables en même temps (p. 196) Procédez à une conversion manuelle. DML Problème 8834 : PostgreSQL ne peut pas effectuer une suppression à partir de plusieurs tables en même temps (p. 197) Procédez à une conversion manuelle. SELECT Problème 8835 : PostgreSQL n'a pas une option similaire à DELAYED pour les instructions DML (p. 197) Utilisez l'instruction DML sans cette option. SELECT Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 197) Utilisez l'instruction DML sans cette option. SELECT Problème 8837 : PostgreSQL ne prend pas en charge de clause STRAIGHT_JOIN (p. 197) Utilisez l'instruction DML sans cette option SELECT Problème 8838 : PostgreSQL ne prend pas en charge de clause SQL_SMALL_RESULT (p. 197) Utilisez l'instruction DML sans cette option SELECT Problème 8839 : PostgreSQL ne prend pas en charge de clause SQL_BIG_RESULT (p. 197) Utilisez l'instruction DML sans cette option SELECT Problème 8840 : PostgreSQL ne prend pas en charge de clause SQL_BUFFER_RESULT (p. 197) Utilisez l'instruction DML sans cette option SELECT Problème 8841 : PostgreSQL ne prend pas en charge de clause SQL_CACHE (p. 197) Utilisez l'instruction DML sans cette option SELECT Problème 8842 : PostgreSQL ne prend pas en charge de clause SQL_NO_CACHE (p. 197) Utilisez l'instruction DML sans cette option SELECT Problème 8843 : PostgreSQL ne prend pas en charge de clause SQL_CALC_FOUND_ROWS (p. 197) Utilisez l'instruction DML sans cette option WHERE Problème 8795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison des chaînes. (p. 197) Vérifiez la comparaison des chaînes. Version 1.0 190 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. EVENTS Elément Problème Résolution EVENTS Problème 8855 : La conversion automatique de la syntaxe EVENT n'est pas prise en charge (p. 198) Procédez à une conversion manuelle. Elément Problème Résolution EXECUTE appliqué à une chaîne de caractères Problème 8672 : La conversion automatique de cette commande n'est pas prise en charge (p. 198) Procédez à une conversion manuelle. Elément Problème Résolution Opérateurs arithmétiques Problème 8773 : L'outil ne peut pas actuellement effectuer de migration automatisée des opérations arithmétiques avec des dates (p. 198) Procédez à une conversion manuelle. Opérateurs arithmétiques Problème 8774 : L'outil ne peut pas effectuer actuellement une migration automatique des opérations arithmétiques avec plusieurs types d'opérandes (p. 198) Procédez à une conversion manuelle. Elément Problème Résolution Parser Error Problème 8663 : Impossible de résoudre l'objet (p. 199) Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Elément Problème Résolution GROUP BY Problème 8653 : PostgreSQL ne prend pas en charge l'option GROUP BY ROLLUP (p. 199) Procédez à une conversion manuelle. EXECUTE Opérateurs Parser Error SELECT Version 1.0 191 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. TRANSACTION Elément Problème Résolution TRANSACTION Problème 8807 : PostgreSQL ne prend pas en charge les transactions dans les fonctions (p. 199) Procédez à une conversion manuelle. Unknown (inconnu) Elément Clause inconnue Problème Résolution Problème 8655 : Cette conversion d'élément syntaxique n'est pas encore prise en charge (p. 199) Procédez à une conversion manuelle. Problème 8674 : La conversion automatique de Procédez à une conversion la clause %s de l'instruction %s n'est pas pris manuelle. en charge (p. 200) VIEW Elément Problème Résolution CREATE VIEW Problème 8824 : L'option ALGORITHM n'est pas pris en charge (p. 200) Procédez à une conversion manuelle. Problèmes de conversion avec BUILT-IN SQL FUNCTIONS Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s Créez une fonction définie par l'utilisateur. Problème 8849 : PostgreSQL ne prend pas en charge la fonction %s avec les valeurs de paramètre %s Créez une fonction définie par l'utilisateur. Problème 8850 : Certaines valeurs des paramètres de la fonction %s ne sont pas prises en charge Examinez le code transformé et corrigez-le, si nécessaire. Problème 8851 : PostgreSQL ne prend pas en charge l'utilisation des fonctions d'agrégation dans la liste SELECT sans une clause GROUP BY Dans MySQL, il est possible d'utiliser une fonction d'agrégation sur un champ dans la liste SELECT sans ajouter les autres champs dans la liste SELECT à une clause GROUP BY. Dans PostgreSQL, l'ajout de ces champs à une clause GROUP BY est obligatoire. Effectuez une conversion manuelle dans le cas présent. Version 1.0 192 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Problème 8854 : PostgreSQL ne prend pas en charge la fonction %s avec des paramètres Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CONTROL FLOW Problème 8845 : La fonctionnalité de décompte de lignes n'est pas prise en charge derrière l'instruction « open cursor » Dans PostgreSQL, la fonction FOUND_ROWS() ne peut pas être appelée dans un curseur. Effectuez à la place une conversion manuelle. Problème 8826 : Vérifiez la valeur par défaut d'une variable Date ou DateTime Lorsque les valeurs par défaut de variables Date, Time ou DateTime sont converties, elles le sont de manière explicite dans le type de données de la variable cible. Par exemple, le code MySQL suivant : DECLARE ValueDate1 DATE DEFAULT '2000-01-01'; est converti dans le code PostgreSQL suivant : ValueDate1 DATE DEFAULT '2000-01-01'::DATE; Si la valeur par défaut se présente sous la forme « 0000-00-00 » ou dans un format similaire (« 0000-00-00 », « 0000-00-00 00:00:00 », « 0000-00-00 00:00:00.000000 »), elle est convertie en littéral « epoch ». Par exemple, le code MySQL suivant : DECLARE ValueDate2 DATE DEFAULT '0000-00-00'; est converti dans le code PostgreSQL suivant : ValueDate2 DATE DEFAULT 'epoch'::DATE; Dans ce cas, la valeur par défaut doit être mise à jour manuellement. Examinez le code généré et modifiezle si nécessaire. Problème 8828 : Les variables définies par l'utilisateur ne sont pas prises en charge dans PostgreSQL Procédez à une conversion manuelle. Problème 8844 : Les codes d'erreur ne sont pas identiques Certaines conditions exit handler nécessitent une conversion manuelle. Tout code MySQL contenant l'une des instructions exit handler suivantes doit être converti pour utiliser à la place la fonctionnalité de gestion d'erreurs PostgreSQL avec les conditions OTHERS ou SQLSTATE : Version 1.0 193 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE DECLARE EXIT EXIT EXIT EXIT EXIT EXIT EXIT HANDLER HANDLER HANDLER HANDLER HANDLER HANDLER HANDLER FOR FOR FOR FOR FOR FOR FOR SQLWARNING, SQLEXCEPTION, NOT FOUND SQLWARNING SQLEXCEPTION NOT FOUND SQLWARNING, NOT FOUND <mysql_error_code> SQLSTATE <sqlstate_value> Examinez le code transformé et corrigez-le, si nécessaire. Problème 8846 : PostgreSQL ne prend pas en charge l'option d'instruction %s Certaines informations de condition utilisées avec les instructions DECLARE CONDITION et GET DIAGNOSTICS CONDITION dans MySQL ne sont pas prises en charge par PostgreSQL. Tel est le cas des éléments suivants : • CLASS_ORIGIN • SUBCLASS_ORIGIN • MYSQL_ERRNO • CONSTRAINT_CATALOG • CONSTRAINT_SCHEMA • CATALOG_NAME • CURSOR_NAME Convertissez manuellement le code partout où vous utilisez ces informations de condition. Problème 8847 : PostgreSQL ne peut pas retourner à un point d'appel après le traitement d'une erreur Si une erreur se produit dans un bloc BEGIN...END, PostgreSQL quitte ce dernier sans y exécuter d'autres instructions. Vérifiez votre logique de gestion d'erreurs et effectuez à la place une conversion manuelle. Problème 8827 : La syntaxe des libellés d'instruction pour les blocs BEGIN...END n'est pas prise en charge dans PostgreSQL Procédez à une conversion manuelle. Problème 8856 : Les informations des processus de serveur varient en fonction des serveurs Vérifiez le résultat de votre conversion. Problème 8857 : La conversion automatique n'est pas prise en charge pour les commandes de réplication Procédez à une conversion manuelle pour l'ensemble du code relatif à la réplication. Problème 8853 : Procédez à une conversion manuelle si vous utilisez SLEEP() avec d'autres expressions Si vous utilisez SLEEP() dans une instruction SELECT en parallèle avec d'autres expressions, par exemple SELECT NOW(), SLEEP(2), AccountNo FROM Account, vous devez convertir ce code manuellement. Version 1.0 194 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE Problème 8654 : Impossible de convertir l'objet en raison de la non création de %s Examinez l'objet %s. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DATATYPES Problème 8848 : Dans MySQL, le type BOOLEAN est un synonyme pour TINYINT Vérifiez votre code là où vous insérez des données à partir d'une variable BOOLEAN dans la base de données. Problème 8706 : PostgreSQL ne prend pas en charge le type %s Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DDL Problème 8825 : Vérifiez la valeur par défaut d'une colonne Date ou DateTime Lorsque les valeurs par défaut de variables Date, Time ou DateTime sont converties, elles le sont de manière explicite dans le type de données de la variable cible. Par exemple, le code MySQL suivant : DECLARE ValueDate1 DATE DEFAULT '2000-01-01'; est converti dans le code PostgreSQL suivant : ValueDate1 DATE DEFAULT '2000-01-01'::DATE; Si la valeur par défaut se présente sous la forme « 0000-00-00 » ou dans un format similaire (« 0000-00-00 », « 0000-00-00 00:00:00 », « 0000-00-00 00:00:00.000000 »), elle est convertie en littéral « epoch ». Par exemple, le code MySQL suivant : Version 1.0 195 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. DECLARE ValueDate2 DATE DEFAULT '0000-00-00'; est converti dans le code PostgreSQL suivant : ValueDate2 DATE DEFAULT 'epoch'::DATE; Dans ce cas, la valeur par défaut doit être mise à jour manuellement. Examinez le code généré et modifiezle si nécessaire. Problème 8801 : La table peut être verrouillée par un curseur ouvert La conversion utilise l'instruction DROP TABLE IF EXISTS pour supprimer une table temporaire avant que l'aboutissement de fonction dans laquelle elle a été créée. Toutefois, dans certains cas, cette instruction peut échouer, car la table temporaire est verrouillée en raison d'un curseur ouvert. Dans ce cas, l'instruction DROP TABLE doit être mise en commentaire. Examinez votre code transformé et modifiez-le, si nécessaire. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DML Problème 8829 : PostgreSQL n'a pas d'équivalent de clause ON DUPLICATE KEY UPDATE Procédez à une conversion manuelle. Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML Utilisez l'instruction DML sans cette option. Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML Utilisez l'instruction DML sans cette option. Problème 8832 : PostgreSQL n'a pas une option similaire à QUICK pour les instructions DML Utilisez l'instruction DML sans cette option. Problème 8833 : PostgreSQL ne peut pas mettre à jour plusieurs tables en même temps PostgreSQL ne prend pas en charge l'utilisation d'une instruction UPDATE pour mettre à jour plusieurs tables à la fois, par exemple update Account, Customer set Account.AccountBalance = Account.AccountBalance + 100, Customer.SName = 'Sofan Hubert'. Effectuez une conversion manuelle dans le cas présent. Version 1.0 196 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Problème 8834 : PostgreSQL ne peut pas effectuer une suppression à partir de plusieurs tables en même temps PostgreSQL ne prend en charge l'utilisation d'une instruction DELETE pour supprimer plusieurs tables à la fois, par exemple delete table1, table3. Effectuez une conversion manuelle dans le cas présent. Problème 8835 : PostgreSQL n'a pas une option similaire à DELAYED pour les instructions DML Utilisez l'instruction DML sans cette option. Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML Utilisez l'instruction DML sans cette option. Problème 8837 : PostgreSQL ne prend pas en charge de clause STRAIGHT_JOIN Utilisez l'instruction DML sans cette option. Problème 8838 : PostgreSQL ne prend pas en charge de clause SQL_SMALL_RESULT Utilisez l'instruction DML sans cette option. Problème 8839 : PostgreSQL ne prend pas en charge de clause SQL_BIG_RESULT Utilisez l'instruction DML sans cette option. Problème 8840 : PostgreSQL ne prend pas en charge de clause SQL_BUFFER_RESULT Utilisez l'instruction DML sans cette option. Problème 8841 : PostgreSQL ne prend pas en charge de clause SQL_CACHE Utilisez l'instruction DML sans cette option. Problème 8842 : PostgreSQL ne prend pas en charge de clause SQL_NO_CACHE Utilisez l'instruction DML sans cette option. Problème 8843 : PostgreSQL ne prend pas en charge de clause SQL_CALC_FOUND_ROWS Utilisez l'instruction DML sans cette option. Problème 8795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison des chaînes. Vérifiez les comparaisons de chaînes dans les clauses WHERE des instructions, par exemple WHERE [Name] LIKE '%BLOCKED%';. Toutes les chaînes utilisées dans les comparaisons doivent être en lettres minuscules. Version 1.0 197 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'EVENTS Problème 8855 : La conversion automatique de la syntaxe EVENT n'est pas prise en charge Les instructions liées aux événements comme CREATE EVENT ou DROP EVENT ne sont pas prises en charge dans PostgreSQL. Convertissez manuellement ce code. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'EXECUTE Problème 8672 : La conversion automatique de cette commande n'est pas prise en charge Le code qui utilise les instructions PREPARE...EXECUTE...DEALLOCATE PREPARE ne peut pas être converti automatiquement. Effectuez à la place une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'opérateurs Problème 8773 : L'outil ne peut pas actuellement effectuer de migration automatisée des opérations arithmétiques avec des dates Procédez à une conversion manuelle. Problème 8774 : L'outil ne peut pas effectuer actuellement une migration automatique des opérations arithmétiques avec plusieurs types d'opérandes Un code qui utilise un opérateur arithmétique et a une opérande qui dispose d'un type de données DATE, TIME ou TIMESTAMP ne peut pas être converti automatiquement. Par exemple, set d = now() + 1;. Effectuez à la place une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) Version 1.0 198 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'erreur d'analyse (Parser Error) Problème 8663 : Impossible de résoudre l'objet Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de SELECT Problème 8653 : PostgreSQL ne prend pas en charge l'option GROUP BY ROLLUP PostgreSQL ne prend pas en charge la clause GROUP BY <nom_champ> WITH ROLLUP pour l'instruction SELECT. Convertissez manuellement ce code. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de TRANSACTION Problème 8807 : PostgreSQL ne prend pas en charge les transactions dans les fonctions Le code qui utilise des instructions de gestion de transaction comme START TRANSACTION ou COMMIT dans une fonction ou une procédure stockée ne peut pas être converti automatiquement. Effectuez à la place une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion inconnus (Unknown) Problème 8655 : Cette conversion d'élément syntaxique n'est pas encore prise en charge Procédez à une conversion manuelle. Version 1.0 199 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge d'Oracle vers MySQL Problème 8674 : La conversion automatique de la clause %s de l'instruction %s n'est pas pris en charge Cette erreur est habituellement générée par le code qui définit les options de transaction ou les variables liées à la réplication qui ne sont pas prises en charge dans PostgreSQL. Ce code doit être converti manuellement. Les instructions qui déclenchent cette erreur incluent les éléments suivants : • SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; • SET TRANSACTION READ ONLY; • SET SESSION TRANSACTION READ WRITE; • SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; • SET TRANSACTION ISOLATION LEVEL READ COMMITTED; • SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; • SET GLOBAL TRANSACTION READ WRITE; • SET GLOBAL tx_isolation=<isolation_level>; • SET SQL_LOG_BIN=<value>; • SET GLOBAL sql_slave_skip_counter=<value>; Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de VIEW Problème 8824 : L'option ALGORITHM n'est pas pris en charge PostgreSQL ne prend pas en charge la clause ALGORITHM pour les instructions CREATE VIEW ou ALTER VIEW. Effectuez une conversion manuelle dans le cas présent. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 187) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Conversion de schéma prise en charge d'Oracle vers MySQL Les sections suivantes dressent la liste des éléments de schéma d'une base de données Oracle et indique s'ils sont pris en charge dans la cadre d'une conversion automatique vers MySQL à l'aide d'AWS Schema Conversion Tool. Version 1.0 200 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Rubriques • Instructions (p. 201) • Procédures (p. 206) • Contrôle de flux (p. 206) • Packages (p. 206) • Fonctions (p. 207) • Opérateurs (p. 216) • Types de données (p. 219) • Langage de définition de données (DDL) (p. 222) • Curseurs (p. 226) • Indicateurs (p. 226) • Exceptions (p. 229) • Rubriques connexes (p. 229) Instructions Rubriques • SELECT (p. 201) • INSERT (p. 203) • UPDATE (p. 203) • DELETE (p. 204) • MERGE (p. 205) • TRUNCATE (p. 205) • LOCK TABLE (p. 205) SELECT Clause Conversion automatique Détails WITH Non Utilisez une procédure stockée pour préparer les données ou réécrivez votre requête pour éviter la clause WITH. AS Non SELECT Oui DISTINCT | UNIQUE | ALL Oui select_list Oui BULK COLLECT INTO Non INTO Oui record_name Non FROM Oui @dblink Non Vous pouvez essayer d'inclure tous les champs de votre table dans une clause INTO. Version 1.0 201 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion automatique Détails materialized view Non TABLE (collection_expression) Non MODEL Non MySQL ne prend pas en charge l'instruction MODEL. START WITH Non MySQL ne prend pas en charge les requêtes hiérarchiques. Utilisez une procédure stockée pour préparer les données. CONNECT BY Non MySQL ne prend pas en charge les requêtes hiérarchiques. Utilisez une procédure stockée pour préparer les données. PIVOT Non XML Non UNPIVOT Non WHERE Oui GROUP BY Oui CUBE Non Utilisez une procédure stockée pour préparer les données. GROUPING SETS Non Utilisez une procédure stockée pour préparer les données. HAVING Oui ORDER BY Oui SIBLINGS Non NULLS FIRST | NULLS LAST Non FOR UPDATE Oui OF Non Essayez d'utiliser FOR UPDATE plutôt que FOR UPDATE OF. NOWAIT | WAIT Non MySQL ne prend pas en charge les clauses WAIT et NOWAIT. Essayez d'utiliser FOR UPDATE sans NOWAIT. SKIP LOCKED Non Essayez d'utiliser FOR UPDATE sans SKIP LOCKED. UNION Oui INTERSECT | MINUS] Oui MySQL ne prend pas en charge NULLS FIRST et NULLS LAST. Dans le tri des valeurs NULL MySQL, les valeurs NULL subissent en premier un tri croissant et en dernier lieu un tri décroissant. Essayez de réécrire la clause ORDER BY avec CASE. Version 1.0 202 AWS Schema Conversion Tool Guide de l'utilisateur Instructions INSERT Clause Conversion automatique Détails INTO table Oui PARTITION Oui PARTITION FOR Non SUBPARTITION Non Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de l'instruction INSERT. VIEW Non Ciblez une table avec l'instruction INSERT au lieu d'un VIEW. Si la vue cible a un déclencheur INSTEAD OF, analysez et exécutez le code déclencheur INSTEAD OF. MATERIALIZED VIEW Non Procédez à une conversion manuelle. sous-requête Non Effectuez plutôt cette opération sur les tables sousjacentes. WITH table_collection_expression Non colonne … Oui VALUES Oui sous-requête Oui RETURNING … INTO Non Pour effectuer cette opération, divisez l'instruction INSERT associée à la clause RETURNING en instruction INSERT avec les instructions SELECT suivantes, et utilisez les mêmes conditions de clé dans chaque SELECT. Vous pouvez également utiliser la dernière valeur générée par la colonne AUTO_INCREMENT dans la condition de clé. LOG ERRORS Non Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. Clause Conversion automatique Détails UPDATE [indicateur] Oui table Oui PARTITION Oui PARTITION FOR Non UPDATE Version 1.0 203 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion automatique Détails SUBPARTITION Non Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide de l'instruction UPDATE. VIEW Non Effectuez plutôt une mise à jour sur les tables susjacentes. MATERIALIZED VIEW Non sous-requête Non WITH Non table_collection_expression Oui SET Oui Effectuez plutôt cette opération sur les tables sousjacentes. VALUE Condition WHERE Oui RETURNING ... INTO Non Pour effectuer cette opération, divisez l'instruction UPDATE associée à la clause RETURNING en instruction UPDATE avec les instructions INSERT dont les conditions de clé spécifiées figurent dans la partie SELECT. LOG ERRORS Non Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. Note MySQL ne prend pas en charge FILESTREAM DATA. Procédez à une conversion manuelle pour mettre à jour les données dans le fichier du système de fichiers. DELETE Clause Conversion automatique DELETE Oui FROM Oui PARTITION Oui PARTITION FOR Non SUBPARTITION Non VIEW Non Détails Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide de l'instruction DELETE. Procédez à une conversion manuelle. Version 1.0 204 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion automatique Détails MATERIALIZED VIEW Non Procédez à une conversion manuelle. sous-requête Non Effectuez plutôt cette opération sur les tables sousjacentes. WITH Non table_collection_expression Oui Condition WHERE Oui RETURNING … INTO Non Pour effectuer cette opération, divisez l'instruction DELETE associée à la clause RETURNING en instruction DELETE avec les instructions INSERT suivantes, et utilisez les mêmes conditions de clé dans chaque SELECT. LOG ERRORS Non Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. Instruction Conversion automatique Détails MERGE Non Pour obtenir l'effet d'une instruction MERGE, utilisez les instructions INSERT, DELETE et UPDATE distinctes. Clause Conversion automatique Détails TRUNCATE TABLE Oui PRESERVE MATERIALIZED VIEW LOG Non PURGE MATERIALIZED VIEW LOG Non DROP STORAGE Non REUSE STORAGE Non MERGE TRUNCATE LOCK TABLE Clause Conversion automatique PARTITION Non Détails Version 1.0 205 AWS Schema Conversion Tool Guide de l'utilisateur Procédures Clause Conversion automatique SUBPARTITION Non NOWAIT Non Détails Procédures Elément Conversion automatique Détails LOCK TABLE Non MySQL ne prend pas en charge l'instruction LOCK TABLE à l'intérieur d'une procédure stockée. dbms_output.put_line Non Essayez d'utiliser INSERT dans la table de journal. Pour ce faire, vous devez ajouter du code dans AWS_ORACLE_EXT. PUT_LINE. dbms_output.put Non Essayez d'utiliser INSERT dans la table de journal. Pour ce faire, vous devez ajouter du code dans AWS_ORACLE_EXT.PUT. Clause Conversion automatique Détails GOTO Non FORALL Non EXECUTE IMMEDIATE Non BULK COLLECT Non RETURNING BULK COLLECT INTO Non LABEL Non Essayez de réécrire les variables sans utiliser d'étiquettes (labels). Elément Conversion automatique Détails Bloc d'initialisation, BEGIN … END Partielle MySQL ne prend pas en charge EXCEPTION BLOCK dans les blocs d'initialisation des packages. Essayez d'utiliser CONTINUE HANDLER. Type utilisateur Non Curseur global Non Contrôle de flux Essayez d'utiliser une instruction WHILE DO. Packages Version 1.0 206 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Elément Conversion automatique Exception utilisateur globale Non Détails Fonctions Rubriques • Fonctions d'agrégation (p. 207) • Fonctions de date et d'heure (p. 209) • Fonctions mathématiques (p. 210) • Fonctions de caractères (chaîne) (p. 211) • Fonctions de conversion (p. 212) • Fonctions de comparaison générale (p. 214) • Fonctions d'encodage et de décodage (p. 214) • E-mail (p. 214) • HTTP (p. 214) • SMS (p. 214) • Fonctions NULL (p. 215) • Fonctions définies par l'utilisateur (p. 215) • Fonctions d'objet volumineux (p. 216) • Fonctions hiérarchiques (p. 216) • Fonctions analytiques (p. 216) Dans cette section, vous trouverez une liste des fonctions intégrées Microsoft SQL Server indiquant si AWS Schema Conversion Tool assure une conversion automatique. Dans les cas où MySQL ne prend pas en charge une fonction, envisagez de créer une fonction définie par l'utilisateur. Fonctions d'agrégation Fonction Conversion automatique AVG Oui COLLECT Non CORR Non CORR_* Non COUNT Oui COVAR_POP Non COVAR_SAMP Non CUME_DIST Non DENSE_RANK Non FIRST Non Détails Version 1.0 207 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique GROUP_ID Non GROUPING Non GROUPING_ID Non LAST Non MAX Oui MEDIAN Non MIN Oui PERCENTILE_CONT Non PERCENTILE_DISC Non PERCENT_RANK Non RANK Non Fonctions REGR_ (régression linéaire) Non STATS_BINOMIAL_TEST Non STATS_CROSSTAB Non STATS_F_TEST Non STATS_KS_TEST Non STATS_MODE Non STATS_MW_TEST Non Détails STATS_ONE_WAY_ANOVA Non STATS_T_TEST_* Non STATS_WSR_TEST Non STDDEV Oui STDDEV_POP Oui STDDEV_SAMP Oui SUM Oui TRUNC Oui VAR_POP Oui VAR_SAMP Oui VARIANCE Oui Converti en : TRUNCATE() Version 1.0 208 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions de date et d'heure Fonction Conversion automatique Détails ADD_MONTHS(date, num) Partielle Converti en : TIMESTAMPADD(MONTH, num, date) CURRENT_DATE Partielle Converti en : NOW() CURRENT_TIMESTAMP Partielle Converti en : NOW() DBTIMEZONE Non EXTRACT(YEAR FROM date) Partielle Converti en : YEAR(date) EXTRACT(MONTH FROM date) Partielle Converti en : MONTH(date) EXTRACT(DAY FROM date) Partielle Converti en : DAY(date) EXTRACT(HOUR FROM time) Partielle Converti en : HOUR(time) EXTRACT(MINUTE FROM time) Partielle Converti en : MINUTE(time) EXTRACT(SECOND FROM time) Partielle Converti en : SECOND(time) FROM_TZ Non LAST_DAY(date) Oui LOCALTIMESTAMP Oui LOCALTIMESTAMP(prec) Partielle La précision maximale pour la fonction MySQL LOCALTIMESTAMP correspond à 6. Si vous avez besoin d'une précision supérieure, créez une fonction définie par l'utilisateur. MONTHS_BETWEEN(date1, Non date2) NEW_TIME Non NEXT_DAY Non NUMTODSINTERVAL Non NUMTOYMINTERVAL Non ROUND (date) Non SESSIONTIMEZONE Non SYS_EXTRACT_UTC Non SYSDATE Partielle Converti en : SYSDATE() SYSTIMESTAMP Partielle Converti en : CURRENT_TIMESTAMP Version 1.0 209 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique Détails TO_CHAR (datetime, format) Partielle Converti en : DATE_FORMAT() TO_TIMESTAMP(exp) Non TO_TIMESTAMP_TZ Non TO_DSINTERVAL Non TO_YMINTERVAL Non TRUNC (datetime) Partielle TZ_OFFSET Non Notez que les chaînes de format TO_CHAR et DATE_FORMAT sont différentes. Converti en : DATE(datetime) Fonctions mathématiques Fonction Conversion automatique ABS(num) Oui ACOS(num) Oui ASIN(num) Oui ATAN(num) Oui ATAN2(x,y) Oui BITAND(exp1, exp2) Partielle CEIL(num) Oui COS(num) Oui COSH(num) Partielle EXP(n) Oui FLOOR(num) Oui LN(num) Oui LOG(num1, num2) Oui MOD(dividend, divisor) Oui NANVL (n2, n1) Non POWER(value, n) Oui REMAINDER(n1, n2) Partielle ROUND (num, integer) Oui Détails Converti en : (exp1 et exp2) Converti en : (EXP(num) + EXP(-num)) / 2 Converti en : (n1 - n2*ROUND(n1/n2)) Version 1.0 210 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique SIGN(exp) Oui SIN(num) Oui SINH(num) Oui SQRT(num) Oui TAN(num) Oui TANH(num) Oui TRUNC (number) Partielle TRUNC(num, num2) Oui VALUE(variable) Non WIDTH_BUCKET Non Détails Converti en : TRUNCATE(num, 0) Fonctions de caractères (chaîne) Fonction Conversion automatique ASCII(str) Oui CHR(num) Partielle CONCAT(char1, char2) Oui INITCAP(string) Non INSTR(str, substr) Oui INSTR(str, substr, pos) Partielle Détails Converti en : CHAR(num USING ASCII) Converti en : LOCATE (substr, str, pos) Cette fonction est identique à la forme à deux arguments d'INSTR(), sauf que l'ordre des arguments est inversé. INSTR(str, substr, pos, num) Non LENGTH(string) Partielle LOWER(string) Oui LPAD(string, len) Partielle LPAD(string, len, pad) Oui LTRIM(string) Oui LTRIM(string, set) Partielle NLS_INITCAP Non NLS_LOWER Non Converti en : LENGTH (string) Converti en : LPAD(string, len, ' ') Converti en : TRIM(LEADING set FROM string) Version 1.0 211 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique NLS_UPPER Non NLSSORT Non REGEXP_INSTR Non REGEXP_REPLACE Non REGEXP_SUBSTR Non REPLACE(str, search) Partielle REPLACE(str, search, replace) Oui RPAD(string, len) Partielle RPAD(string, len, pad) Oui RTRIM(string) Oui RTRIM(string, set) Partielle SOUNDEX(String) Oui SUBSTR(string, pos, len) Oui TRANSLATE(string, from, to) Non Détails Converti en : REPLACE(str, search, '') Converti en : RPAD(string, len, ' ') Converti en : TRIM(TRAILING set FROM string) TREAT TRIM([type trim FROM] string) Oui UPPER(string) Oui Fonctions de conversion Fonction Conversion automatique ASCIISTR(string) Non BIN_TO_NUM(bit1, bit2, …) Non CAST Oui CHARTOROWID Non COMPOSE Non CONVERT(string, charset) Partielle DECOMPOSE Non HEXTORAW Non Détails Converti en : CONVERT(string USING charset) Version 1.0 212 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique NUMTODSINTERVAL Non NUMTOYMINTERVAL Non RAWTOHEX Non RAWTONHEX Non ROWIDTOCHAR Non ROWIDTONCHAR Non SCN_TO_TIMESTAMP Non TIMESTAMP_TO_SCN Non TO_BINARY_DOUBLE Non TO_BINARY_FLOAT Non TO_CHAR (character) Non TO_CHAR (datetime, format) Partielle TO_CHAR (number, format) Partielle Détails Converti en : DATE_FORMAT(datetime, format) Notez que les chaînes de format TO_CHAR et DATE_FORMAT sont différentes. Converti en : FORMAT(number, decimal_digits) Dans MySQL, vous pouvez utiliser la fonction FORMAT, ainsi que d'autres fonctions et expressions de chaîne. TO_CLOB Partielle TO_DATE Partielle Converti en : STR_TO_DATE(string, format) Notez que les chaînes de format TO_DATE et STR_TO_DATE sont différentes. TO_DSINTERVAL Non TO_LOB Non TO_MULTI_BYTE Non TO_NCHAR (character) Non TO_NCHAR (datetime) Non TO_NCHAR (number) Non TO_NCLOB Non TO_NUMBER Non TO_DSINTERVAL Non TO_SINGLE_BYTE Non TO_TIMESTAMP Non Version 1.0 213 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion automatique TO_TIMESTAMP_TZ Non TO_YMINTERVAL Non TRANSLATE ... USING Non UNISTR Partielle Détails Converti en : CHAR(string USING UCS2) Fonctions de comparaison générale Fonction Conversion automatique GREATEST(exp, exp2, …) Oui LEAST(exp, exp2, …) Oui Détails Fonctions d'encodage et de décodage Fonction Conversion automatique Détails DECODE(exp, when, then, ...) Partielle Converti en : expression CASE DUMP Non ORA_HASH Non VSIZE Non E-mail MySQL ne prend pas en charge l'envoi de courrier électronique. Pour envoyer du courrier électronique, utilisez Amazon Simple Email Service (Amazon SES). HTTP MySQL ne prend pas en charge l'envoi de messages aux points de terminaison HTTP. Pour envoyer des messages à des points de terminaison HTTP et HTTPS, vous pouvez utiliser Amazon Simple Notification Service (Amazon SNS). SMS MySQL ne prend en charge l'envoi de notifications par SMS. Pour envoyer et recevoir des notifications par SMS, vous pouvez utiliser Amazon Simple Notification Service (Amazon SNS). Version 1.0 214 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions NULL Fonction Conversion automatique Détails COALESCE(exp1, exp2, …) Oui LNNVL Non NULLIF(exp1, exp2) Partielle Converti en : NULLIF(exp1, exp2) NVL(exp, replacement) Partielle Converti en : IFNULL(exp, replacement) NVL2(exp1, exp2, exp3) Partielle Converti en : expression CASE Fonctions définies par l'utilisateur Return Dans MySQL, vous pouvez utiliser des instructions qui retournent un jeu de résultats dans une procédure stockée, mais pas dans une fonction stockée. Instruction Conversion automatique Détails RETURN resultset Non Essayez de changer la fonction en procédure stockée et d'utiliser une table pour stocker les résultats. RETURN record-type Non Essayez de changer la fonction en procédure stockée et de changer les éléments record-type en paramètres distincts. TYPE .. IS TABLE OF .. INDEX BY Non Essayez de changer la fonction en procédure stockée et d'utiliser une table pour stocker les résultats. TYPE .. IS TABLE OF Non Essayez de changer la fonction en procédure stockée et d'utiliser une table pour stocker les résultats. TYPE .. IS VARRAY(..) OF Non Essayez de changer la fonction en procédure stockée et d'utiliser une table pour stocker les résultats. RETURN .. PIPELINED Non Essayez de changer la fonction en procédure stockée et d'utiliser une table pour stocker les résultats. TYPE ... IS REF CURSOR Non Essayez de changer la fonction en procédure stockée et d'utiliser une table pour stocker les résultats. object-type Non Collections Elément Conversion automatique Détails TYPE .. IS TABLE OF… Non MySQL ne prend pas en charge les variables de type table. Essayez d'utiliser une table. collection_name.First, collection_name.Last, Non MySQL ne prend pas en charge les méthodes de collection de type table. Essayez d'utiliser une table. Version 1.0 215 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Elément Conversion automatique Détails Non MySQL ne prend pas en charge le constructeur pour le type de collection. Essayez d'utiliser une table. Elément Conversion automatique Détails Type d'enregistrement UDT Non Type de collection UDT Non Type d'objet UDT Non collection_name.Count, collection_name.Next := collection_type(...) Arguments Fonctions d'objet volumineux Fonction Conversion automatique Détails BFILENAME Non EMPTY_BLOB Partielle Converti en chaîne vide. EMPTY_CLOB Partielle Converti en chaîne vide. Fonctions hiérarchiques Fonction Conversion automatique Détails SYS_CONNECT_BY_PATH Non Essayez de créer une fonction définie par l'utilisateur. Fonctions analytiques MySQL ne prend pas en charge les fonctions analytiques. Essayez de créer une fonction définie par l'utilisateur. Opérateurs Rubriques • Opérateurs arithmétiques (p. 217) • • • • • Opérateur d'affectation (p. 217) Opérateurs de comparaison (p. 217) Opérateurs logiques (p. 217) Opérateur de concaténation de chaînes (p. 218) Spécificateurs de format de date et d'heure (p. 218) Version 1.0 216 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs arithmétiques Clause Conversion automatique + Oui – Oui +- Partielle */ Oui Détails MySQL gère l'arithmétique des dates et des heures différemment. Vérifiez la précision du schéma converti. Opérateur d'affectation Clause Conversion automatique = Oui Détails Opérateurs de comparaison Clause Conversion automatique > Oui < Oui >= Oui <= Oui <> Oui != Oui !< Oui !> Oui Détails Opérateurs logiques Clause Conversion automatique IN Oui NOT IN Oui ANY Oui SOME Oui ALL Oui Détails Version 1.0 217 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Clause Conversion automatique BETWEEN x Oui EXISTS Oui LIKE Oui IS NULL Oui NOT Oui AND Oui OR Oui Détails Opérateur de concaténation de chaînes Clause Conversion automatique || Oui Détails Spécificateurs de format de date et d'heure Clause Conversion automatique Conversion par défaut YEAR Non YYYY Partielle YYY Non YY Partielle Y Non IYY Non IY Partielle I Non IYYY Partielle RRRR Non Q Non MM Partielle %m MON Partielle %b MONTH Partielle %M RM Non %Y %y %y %Y Version 1.0 218 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion automatique Conversion par défaut WW Partielle %V W Non IW Partielle %V D Partielle %w Jour de la semaine (1=Dimanche, 7=Samedi) Partielle Jour de la semaine (0=Dimanche, 6=Samedi) DAY Partielle %W DD Partielle %e DDD Partielle %j DY Partielle %a J Non HH Partielle %h HH12 Partielle %h HH24 Partielle %H MI Partielle %i SS Partielle %S SSSSS Non FF Non AM, PM Partielle A.M., P.M. Non AD ou A.D Non BC ou B.C. Non TZD Non TZH Non TZM Non TZR Non %p Types de données Type de données Conversion automatique Conversion par défaut Détails BFILE Partielle VARCHAR(255) Contient le chemin d'accès à BFILE. MySQL ne prend Version 1.0 219 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Conversion automatique Conversion par défaut Détails pas en charge BFILE. Sachant que les données BFILE sont constituées du chemin d'accès à un fichier, vous pouvez soit stocker un nom de fichier et créer une routine qui obtienne le fichier à partir du système de fichiers, soit stocker le contenu du fichier sous forme de LONGBLOB. BINARY_FLOAT Oui FLOAT BINARY_DOUBLE Oui DOUBLE BLOB Oui LONGBLOB CHAR Oui TEXT CHAR(n), CHARACTER(n) Oui CHAR(n), CHARACTER(n) CHAR(n), CHARACTER(n) Oui VARCHAR(n) CLOB Oui LONGTEXT DATE Oui DATETIME DECIMAL, DEC Oui DOUBLE DECIMAL(p,s), DEC(p,s) Oui DECIMAL(p,s), DEC(p,s) DOUBLE PRECISION Oui DOUBLE PRECISION FLOAT Oui DOUBLE FLOAT(p) Oui DOUBLE INTEGER, INT Oui DECIMAL(38) INTERVAL YEAR TO MONTH Oui DOUBLE INTERVAL YEAR(p) TO MONTH Oui VARCHAR(30) INTERVAL DAY TO SECOND Oui VARCHAR(30) INTERVAL DAY(p) TO SECOND(s) Oui VARCHAR(30) LONG Oui LONGTEXT LONG RAW Oui LONGBLOB NCHAR Oui TEXT NCHAR(n) Oui NCHAR(n) Version 1.0 220 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Conversion automatique Conversion par défaut NCHAR(n) Oui NVARCHAR(n) NCHAR VARYING Oui TEXT NCHAR VARYING(n) Oui NCHAR VARYING(n) NCLOB Oui LONGTEXT NUMBER(p,0), NUMBER(p) Oui DECIMAL(p,0), DECIMAL(p) NUMBER(p,s) Oui DECIMAL(p,s) NUMBER, NUMBER(*),NUMERIC Oui DOUBLE NUMERIC(p,s) Oui NUMERIC(p,s) NVARCHAR2 Oui TEXT NVARCHAR2(n) Oui NVARCHAR(n) RAW Oui VARBINARY(2000) RAW(n) Oui BINARY(n) RAW(n) Oui VARBINARY(n) REAL Oui DOUBLE ROWID Oui CHAR(10) SMALLINT Oui DECIMAL(38) TIMESTAMP Oui DATETIME TIMESTAMP(p) Oui DATETIME(p) TIMESTAMP(p) Partielle TIMESTAMP(p) WITH TIME ZONE Partielle DATETIME UROWID Oui TEXT UROWID(n) Oui VARCHAR(n) Détails MySQL étend la prise en charge des fractions de secondes pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision pouvant atteindre la microseconde (6 chiffres). Version 1.0 221 MySQL ne propose aucun type de données capable de stocker les informations de fuseau horaire. Le type de données DATETIME stocke les horodatages dans le fuseau horaire du serveur MySQL. AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Type de données Conversion automatique Conversion par défaut VARCHAR Oui TEXT VARCHAR(n) Oui VARCHAR(n) VARCHAR2 Oui TEXT VARCHAR2(n) Oui VARCHAR(n) XMLTYPE Oui LONGTEXT Détails Langage de définition de données (DDL) Rubriques • CREATE TABLE (p. 222) • CREATE INDEX (p. 223) • CREATE TRIGGER (p. 223) • CREATE VIEW (p. 224) • CREATE CONSTRAINT (p. 225) • CREATE SEQUENCE (p. 225) CREATE TABLE Les instructions CREATE TABLE sont converties automatiquement sauf dans les cas suivants. Clause Conversion automatique Détails OBJECT TABLE Non MySQL ne prend pas en charge OBJECT TABLE. Corrigez votre code pour éviter OBJECT TABLE. CLUSTERED TABLE Non MySQL ne prend pas en charge CLUSTERED TABLE. Essayez d'utiliser une table avec des déclencheurs. EXTERNAL TABLE Non MySQL ne prend pas en charge EXTERNAL TABLE. Essayez d'utiliser une table. GLOBAL TEMPORARY TABLE Non MySQL ne prend pas en charge GLOBAL TEMPORARY TABLE. Essayez d'utiliser une table temporaire. Tables partitionnées Non MySQL ne prend pas en charge tous les types de partition. Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge. Colonnes virtuelles Non MySQL ne prend pas en charge les colonnes virtuelles. Représentez les colonnes virtuelles à l'aide d'une vue. Fonctions en tant que valeurs par défaut Non MySQL ne prend pas en charge les fonctions en tant que valeurs par défaut. Essayez d'utiliser un déclencheur. Colonnes NESTED TABLE Non MySQL ne prend pas en charge les tables constituées de colonnes NESTED TABLE. Modifiez les tables constituées de colonnes NESTED TABLE pour éviter ces colonnes. Version 1.0 222 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion automatique Détails COLUMN(TABLE) Non MySQL ne prend pas en charge la colonne d'objets. Créez une fonction définie par l'utilisateur. CREATE INDEX Les instructions CREATE INDEX sont converties automatiquement sauf que MySQL ne prend pas en charge les index de type bitmap, basés sur des fonctions ou domaine. CREATE TRIGGER Les instructions CREATE TRIGGER sont converties automatiquement sauf dans les cas suivants. Clause Conversion automatique Détails COMPOUND Non MySQL ne prend pas en charge les déclencheurs composés. Créez un déclencheur unique pour chaque composant du déclencheur composé. INSTEAD OF Non MySQL ne prend pas en charge INSTEAD OF. Essayez d'utiliser un déclencheur BEFORE. INSERTING | UPDATING | DELETING Non MySQL ne prend pas en charge les prédicats conditionnels. sans FOR EACH ROW Non MySQL ne prend pas en charge les déclencheurs d'instruction. Essayer d'inclure FOR EACH ROW. FOLLOWS | PRECEDES Non MySQL ne prend pas en charge la clause FOLLOWS | PRECEDES. Essayez d'utiliser un déclencheur FOR EACH ROW. UPDATE OF Non MySQL ne prend pas en charge la clause UPDATE OF. Essayez d'utiliser un déclencheur FOR EACH ROW. REFERENCING NEW AS | OLD AS Non MySQL ne prend pas en charge les clauses REFERENCING. Modifiez les références aux pseudolignes pour utiliser à la place OLD et NEW. WHEN(condition) Non MySQL ne prend pas en charge les déclencheurs WHEN(condition). Appliquez la condition pour WHEN dans le corps du déclencheur. ON NESTED TABLE Non trigger-status=DISABLED Non MySQL ne prend pas en charge la clause DISABLED. Supprimez plutôt le déclencheur. create-date Non MySQL ne prend pas en charge create-date pour les déclencheurs. Essayez d'utiliser un déclencheur FOR EACH ROW. modify-date Non MySQL ne prend pas en charge modify-date pour les déclencheurs. Essayez d'utiliser un déclencheur FOR EACH ROW. Version 1.0 223 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion automatique Détails status Non MySQL ne prend pas charge les valeurs d'état des déclencheurs. Essayez d'utiliser un déclencheur FOR EACH ROW. description Non MySQL ne prend pas en charge les descriptions pour les déclencheurs. Dans MySQL, vous pouvez obtenir une description de déclencheur en utilisant INFORMATION_SCHEMA.TRIGGERS. MySQL ne prend pas en charge la clause REFERENCING. Vous trouverez ci-dessous les valeurs correspondantes entre Oracle(USER_TRIGGERS) et MySQL(INFORMATION_SCHEMA.TRIGGERS) : • TABLE_OWNER correspond à TRIGGER_SCHEMA • TRIGGER_NAME correspond à TRIGGER_NAME • TRIGGER_TYPE correspond à ACTION_TIMING • TRIGGERING_EVENT correspond à EVENT_MANIPULATION • TABLE_NAME correspond à EVENT_OBJECT_TABLE • REFERENCING_NAMES correspond à ACTION_REFERENCE_NEW_ROW(always is NEW), ACTION_REFERENCE_OLD_ROW(always is OLD) triggering-event=ddl_events Non triggeringevent=database_events Non base-object-type=VIEW Non base-object-type=SCHEMA Non base-objecttype=DATABASE Non action-type=CALL ou PL/ SQL Non crossedition=FORWARD/ REVERSE Non fire-once=YES Non apply-server-only=YES Non referencingnames=PARENT Non CREATE VIEW Les instructions CREATE VIEW sont converties automatiquement sauf dans les cas suivants. Version 1.0 224 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion automatique FORCE Non NOFORCE Non WITH READ ONLY Non create-date Non modify-date Non status Non oid-text Non view-type-owner Non view-type Non superview-name Non editioning-view Non encrypted-view Non CAST Non Détails NOFORCE est le comportement par défaut pour MySQL. Vous n'avez pas besoin de spécifier cette option. MySQL ne prend pas en charge les vues contenant des colonnes nested table. CREATE CONSTRAINT Les instructions CREATE CONSTRAINT sont converties automatiquement sauf dans les cas suivants. Clause Conversion automatique Détails DISABLE, status=DISABLED Non MySQL ne prend pas en charge les contraintes dont l'état est DISABLE. Supprimez la contrainte. Clés étrangères de types différents Non MySQL ne prend pas en charge les clés étrangères ayant différents types de colonnes et de colonnes référencées. Modifiez les types de colonnes en utilisant un équivalent des types de données de colonne de la base de données d'origine. constraint-type Non MySQL ne prend pas en charge l'option de vérification de contrainte dans une vue. Essayez d'utiliser un déclencheur. CREATE SEQUENCE MySQL ne prend pas en charge les séquences. Essayez de développer un système pour les séquences contenues dans votre application. Version 1.0 225 AWS Schema Conversion Tool Guide de l'utilisateur Curseurs Curseurs Les curseurs sont convertis automatiquement sauf dans les cas suivants. Clause Conversion automatique Détails SQLAttribute Partielle MySQL ne prend pas en charge l'attribut de curseur SQL %ISOPEN MySQL ne prend pas en charge l'attribut de curseur SQL %BULK_ROWCOUNT. Pour calculer les lignes traitées, utilisez une variable. REF CURSOR Non MySQL ne prend pas en charge l'objet REF CURSOR. Procédez à une conversion manuelle. SYS_REFCURSOR Non MySQL ne prend pas en charge une variable de type SYS_REFCURSOR. Procédez à une conversion manuelle. CURSOR Partielle AWS Schema Conversion Tool ne peut pas transformer automatiquement l'instruction SELECT pour un curseur implicite. Essayez de réécrire l'instruction SELECT. Variable REF_CURSOR Partielle L'instruction SELECT pour la variable REF_CURSOR ne peut pas être transformée. Essayez de réécrire l'instruction SELECT. Indicateurs MySQL ne prend pas en charge les indicateurs. Essayez d'utiliser les méthodes d'optimisation des performances MySQL ou procédez à une conversion manuelle. Clause Conversion automatique /*+ ALL_ROWS */ Non /*+ AND_EQUAL(table index...) */ Non /*+ APPEND */ Non /*+ CACHE(table) */ Non /*+ CHOOSE */ Non /*+ CLUSTER(table) */ Non Détails /*+ Non CURSOR_SHARING_EXACT */ /*+ DRIVING_SITE(table) */ Non /*+ DYNAMIC_SAMPLING */ Non Version 1.0 226 AWS Schema Conversion Tool Guide de l'utilisateur Indicateurs Clause Conversion automatique Détails /*+ Non EXPAND_GSET_TO_UNION */ /*+ FACT(table) */ Non /*+ FIRST_ROWS(n) */ Non /*+ FULL(table) */ Non /*+ HASH */ Non /*+ HASH_SJ */ Non /*+ INDEX(table index) */ Non /*+ INDEX_ASC(table index) Non */ /*+ INDEX_COMBINE(table index) */ Non /*+ INDEX_DESC(table index) */ Non /*+ INDEX_FFS(table index) */ Non /*+ LEADING(table) */ Non /*+ MERGE(table) */ Non /*+ MERGE_SJ */ Non /*+ NL_SJ */ Non /*+ NO_EXPAND */ Non /*+ NO_INDEX(table index) */ Non /*+ NO_MERGE(table) */ Non /*+ NO_PARALLEL(table) */ Non /*+ Non NO_PARALLEL_INDEX(table index) */ /*+ Non NO_PUSH_PRED(subquery) */ /*+ Non NO_PUSH_SUBQ(subquery) */ /*+ NO_REWRITE */ Non Version 1.0 227 AWS Schema Conversion Tool Guide de l'utilisateur Indicateurs Clause Conversion automatique /*+ NO_UNNEST */ Non /*+ NOAPPEND */ Non /*+ NOCACHE(table) */ Non /*+ NOFACT(table) */ Non /*+ ORDERED */ Non /*+ ORDERED_PREDICATES */ Non /*+ PARALLEL(table server_num) */ Non Détails /*+ PARALLEL_INDEX(table Non index server_num) */ /*+ PQ_DISTRIBUTE(table out_distr in_distr) */ Non /*+ PUSH_PRED(subquery) */ Non /*+ PUSH_SUBQ(subquery) */ Non /*+ REWRITE */ Non /*+ ROWID(table) */ Non /*+ RULE */ Non /*+ STAR */ Non /*+ STAR_TRANSFORMATION */ Non /*+ UNNEST */ Non /*+ USE_CONCAT */ Non /*+ USE_HASH(table1 table2) */ Non /*+ USE_MERGE(table1 table2) */ Non Version 1.0 228 AWS Schema Conversion Tool Guide de l'utilisateur Exceptions Exceptions Elément Conversion automatique Détails RAISE Non MySQL ne prend pas en charge la commande RAISE. Examinez l'exception et, si possible, convertissez-la en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. %s Non MySQL ne prend pas en charge l'exception %s. Examinez l'exception et, si possible, convertissez-la en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. EXCEPTION Non MySQL ne prend pas en charge la déclaration EXCEPTION. Utilisez l'instruction DECLARE ... CONDITION. PRAGMA EXCEPTION_INIT Non MySQL ne prend pas en charge la déclaration PRAGMA EXCEPTION_INIT. Utilisez l'instruction DECLARE ... CONDITION. PROC_RAISE_APPLICATION_ERROR Non MySQL ne prend pas en charge l'instruction PROC_RAISE_APPLICATION_ERROR. Utilisez l'instruction DECLARE ... CONDITION. Essayez d'utiliser l'instruction SIGNAL ou RESIGNAL. Exceptions intégrées Exception Conversion automatique Détails INVALID_NUMBER Non Essayez de créer une exception utilisateur. TIMEOUT_ON_RESOURCE Non Essayez de créer une exception utilisateur. TRANSACTION_BACKED_OUT Non Essayez de créer une exception utilisateur. INVALID_CURSOR Non Vous pouvez utiliser l'un des différents gestionnaires pour les curseurs non valides. Choisissez le gestionnaire en fonction du problème rencontré. NOT_LOGGED_ON Non Essayez de créer une exception utilisateur. LOGIN_DENIED Non Essayez de créer une exception utilisateur. STORAGE_ERROR Non Vous pouvez utiliser l'un des différents gestionnaires pour les curseurs non valides. Choisissez le gestionnaire en fonction du problème rencontré. PROGRAM_ERROR Non Essayez d'utiliser le gestionnaire « 1815 - Erreur interne ». Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) Version 1.0 229 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge d'Oracle vers PostgreSQL • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Conversion de schéma prise en charge d'Oracle vers PostgreSQL Les sections suivantes dressent la liste des éléments de schéma d'une base de données Oracle et indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers PostgreSQL à l'aide d'AWS Schema Conversion Tool. DDL Instructions Clause Conversion automatique ALTER CLUSTER Non ALTER DATABASE Non ALTER DIMENSION Non ALTER DISKGROUP Non ALTER FLASHBACK ARCHIVE Non ALTER FUNCTION Non ALTER TABLESPACE Non CREATE [OR REPLACE] FUNCTION Oui CREATE [TEMPORARY] TABLESPACE Non CREATE CLUSTER Non CREATE CONTEXT Non CREATE CONTROLFILE Non CREATE DATABASE Oui CREATE DATABASE LINK Non CREATE DIMENSION Non CREATE DIRECTORY Non CREATE DISKGROUP Non CREATE FLASHBACK ARCHIVE Non DROP CLUSTER Non Détails Version 1.0 230 AWS Schema Conversion Tool Guide de l'utilisateur DDL Clause Conversion automatique DROP DATABASE Non DROP DATABASE LINK Non DROP DIMENSION Non DROP DIRECTORY Non DROP DISKGROUP Non DROP FLASHBACK ARCHIVE Non DROP FUNCTION Non DROP TABLE Non DROP TABLESPACE Non DROP VIEW Oui Détails ALTER TABLE Clause Conversion automatique ADD CONSTRAINT Oui ADD column Non DEALLOCATE UNUSED Non DISCARD/IMPORT TABLESPACE Non DROP CONSTRAINT Non ENABLE/DISABLE constraint Non ENABLE/DISABLE triggers Non MODIFY Non MODIFY COLUMN Non Opérations de PARTITION Non REMOVE PARTITIONING Non RENAME Non RENAME COLUMN Non Détails Version 1.0 231 AWS Schema Conversion Tool Guide de l'utilisateur DDL Instruction CREATE [OR REPLACE] VIEW Clause Conversion automatique FORCE Oui NOFORCE Oui READ ONLY Oui Vues actualisables Oui WITH OBJECT IDENTIFIER Oui Détails Instruction CREATE INDEX Clause Conversion automatique Détails BITMAP Non Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap (p. 274) DOMAIN Non Problème 5208 : PostgreSQL ne prend pas en charge les index de domaine (p. 274) FUNCTION-BASED BITMAP Non Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap (p. 274) FUNCTION-BASED NORMAL Oui Problème 5555 : PostgreSQL ne prend pas en charge les index fonctionnels qui ne tiennent pas sur une seule colonne (p. 274) NONUNIQUE Oui NORMAL Oui UNIQUE Oui CREATE TABLE Clause Conversion automatique Détails Tables en cluster Non Problème 5199 : PostgreSQL ne prend pas en charge CLUSTERED TABLE (p. 275) Table externe Non Problème 5200 : PostgreSQL ne prend pas en charge EXTERNAL TABLES (p. 275) Fonction en tant que valeur par défaut de colonne Oui Table d'objets Non Problème 5196 : PostgreSQL ne prend pas en charge OBJECT TABLE (p. 275) Table partitionnée Non Problème 5201 : PostgreSQL ne prend pas en charge tous les types de partition (p. 275) Version 1.0 232 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails Tables standard Oui Tables temporaires Partielle Problème 5198 : PostgreSQL ne prend pas en charge GLOBAL TEMPORARY TABLE (p. 275) Clause Conversion automatique Détails CREATE Oui Using Oui Séquences DML Fonctions SQL intégrées Fonctions d'agrégation Clause Conversion automatique Détails AVG Oui COLLECT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) CORR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) CORR_* Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) COUNT Oui COVAR_POP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) COVAR_SAMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) CUME_DIST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) DENSE_RANK Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) FIRST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) GROUP_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 233 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails GROUPING Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) GROUPING_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) LAST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) MAX Oui MEDIAN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) MIN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PERCENT_RANK Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PERCENTILE_CONT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PERCENTILE_DISC Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) RANK Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions REGR_ (régression linéaire) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_BINOMIAL_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_CROSSTAB Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_F_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_KS_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_MODE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_MW_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_ONE_WAY_ANOVA Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_T_TEST_* Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STATS_WSR_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 234 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails STDDEV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STDDEV_POP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) STDDEV_SAMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SUM Oui VAR_POP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) VAR_SAMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) VARIANCE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Clause Conversion automatique Détails AVG * Oui CORR * Non COUNT * Oui COVAR_POP * Oui COVAR_SAMP * Oui CUME_DIST Oui DENSE_RANK Oui FIRST Non FIRST_VALUE * Oui LAG Oui LAST Non LAST_VALUE * Oui LEAD Oui MAX * Oui MIN * Oui Fonctions analytiques Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 235 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails NTILE Oui PERCENT_RANK Oui PERCENTILE_CONT Oui PERCENTILE_DISC Oui RANK Oui RATIO_TO_REPORT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions REGR_ (régression linéaire) * Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) ROW_NUMBER Oui STDDEV * Oui STDDEV_POP * Oui STDDEV_SAMP * Oui SUM * Oui VAR_POP * Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) VAR_SAMP * Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) VARIANCE * Oui Fonctions de caractères retournant des valeurs de caractère Clause Conversion automatique CHR(num) Oui CONCAT(char1, char2) Oui INITCAP(string) Oui LOWER(string) Oui LPAD(string, len) Oui LPAD(string, len, pad) Oui LTRIM(string) Oui NLS_INITCAP Non Détails Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 236 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails NLS_LOWER Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) NLS_UPPER Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) NLSSORT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) REGEXP_REPLACE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) REGEXP_SUBSTR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) REPLACE(str, search) Oui REPLACE(str, search, replace) Oui RPAD(string, len) Oui RTRIM(string) Oui RTRIM(string, set) Oui SOUNDEX(String) Oui SUBSTR(string, pos, len) Oui TRANSLATE(string, from, to) Oui TREAT Non TRIM([type trim FROM] string) Oui UPPER(string) Oui Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions de caractère retournant des valeurs numériques Clause Conversion automatique ASCII(str) Oui INSTR(str, substr) Oui INSTR(str, substr, pos) Implémenté dans la bibliothèque d'extensions Détails Version 1.0 237 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails INSTR(str, substr, pos, num) Implémenté dans la bibliothèque d'extensions LENGTH(string) Oui REGEXP_INSTR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Clause Conversion automatique Détails CARDINALITY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) COLLECT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions de collection Fonctions de conversion Clause Conversion automatique Détails ASCIISTR(string) Implémenté dans la bibliothèque d'extensions BIN_TO_NUM(bit1, bit2, …) Oui CAST Oui CHARTOROWID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) COMPOSE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) CONVERT(string, charset) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) DECOMPOSE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) HEXTORAW Oui NUMTODSINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 238 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails NUMTOYMINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) RAWTOHEX Oui RAWTONHEX Oui ROWIDTOCHAR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) ROWIDTONCHAR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SCN_TO_TIMESTAMP Oui TIMESTAMP_TO_SCN Oui TO_BINARY_DOUBLE Oui TO_BINARY_FLOAT Oui TO_CHAR (character) Oui TO_CHAR (datetime, format) Oui TO_CHAR (number, format) Implémenté dans la bibliothèque d'extensions TO_CLOB Oui TO_DATE Implémenté dans la bibliothèque d'extensions TO_DSINTERVAL Oui TO_LOB Oui TO_MULTI_BYTE Oui TO_NCHAR (character) Oui TO_NCHAR (datetime) Implémenté dans la bibliothèque d'extensions TO_NCHAR (number) Implémenté dans la bibliothèque d'extensions Version 1.0 239 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails TO_NCLOB Implémenté dans la bibliothèque d'extensions TO_NUMBER Implémenté dans la bibliothèque d'extensions TO_SINGLE_BYTE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) TRANSLATE ... USING Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) UNISTR Implémenté dans la bibliothèque d'extensions Fonctions d'exploration des données Clause Conversion automatique Détails CLUSTER_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) CLUSTER_PROBABILITY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) CLUSTER_SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) FEATURE_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) FEATURE_SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) FEATURE_VALUE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PREDICTION Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PREDICTION_COST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PREDICTION_DETAILS Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PREDICTION_PROBABILITY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 240 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails PREDICTION_SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Clause Conversion automatique Détails ADD_MONTHS(date, num) Implémenté dans la bibliothèque d'extensions CURRENT_DATE Oui CURRENT_TIMESTAMP Oui DBTIMEZONE Non EXTRACT(DAY FROM date) Oui EXTRACT(HOUR FROM time) Oui EXTRACT(MINUTE FROM time) Oui EXTRACT(MONTH FROM date) Oui EXTRACT(SECOND FROM time) Oui EXTRACT(YEAR FROM date) Oui FROM_TZ Implémenté dans la bibliothèque d'extensions LAST_DAY(date) Implémenté dans la bibliothèque d'extensions LOCALTIMESTAMP Oui LOCALTIMESTAMP([prec]) Oui Fonctions Datetime Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) MONTHS_BETWEEN(date1, Oui date2) Version 1.0 241 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails NEW_TIME Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) NEXT_DAY Implémenté dans la bibliothèque d'extensions NUMTODSINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) NUMTOYMINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) ROUND (date) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SESSIONTIMEZONE Oui SYS_EXTRACT_UTC Non SYSDATE Oui SYSTIMESTAMP Oui TO_CHAR (datetime, format) Oui TO_DSINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) TO_TIMESTAMP(exp) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) TO_TIMESTAMP_TZ Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) TO_YMINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) TRUNC (datetime) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) TZ_OFFSET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Clause Conversion automatique Détails dbms_output.put() Oui dbms_output.put_line() Oui Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) dbms_output Version 1.0 242 AWS Schema Conversion Tool Guide de l'utilisateur DML Fonctions d'encodage et de décodage Clause Conversion automatique Détails DECODE(exp, when, then, …) Oui DUMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) ORA_HASH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) VSIZE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions d'environnement et d'identificateur Clause Conversion automatique Détails SYS_CONTEXT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SYS_GUID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SYS_TYPEID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) UID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) USER Oui USERENV('parameter') Oui Fonctions de comparaison générale Clause Conversion automatique GREATEST(exp, exp2, …) Oui LEAST(exp, exp2, …) Oui Détails Fonctions hiérarchiques Clause Conversion automatique Détails SYS_CONNECT_BY_PATH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 243 AWS Schema Conversion Tool Guide de l'utilisateur DML Fonctions d'objet volumineux Clause Conversion automatique Détails BFILENAME Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) EMPTY_BLOB, EMPTY_CLOB Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Clause Conversion automatique Détails CV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) ITERATION_NUMBER Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PRESENTNNV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PRESENTV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) PREVIOUS Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions de modèle Fonctions de caractère NLS Clause Conversion automatique Détails NLS_CHARSET_DECL_LEN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) NLS_CHARSET_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) NLS_CHARSET_NAME Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions liées aux valeurs NULL Clause Conversion automatique COALESCE(exp1, exp2, …) Oui LNNVL Non NULLIF(exp1, exp2) Oui Détails Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 244 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique NVL(exp, replacement) Oui NVL2(exp1, exp2, exp3) Oui Détails Fonctions numériques Clause Conversion automatique ABS(num) Oui ACOS(num) Oui ASIN(num) Oui ATAN(num) Oui ATAN2(x,y) Oui BITAND(exp1, exp2) Oui CEIL(num) Oui COS(num) Oui COSH(num) Oui EXP(n) Oui FLOOR(num) Oui LN(num) Oui LOG(num1, num2) Oui MOD(dividend, divisor) Oui NANVL (n2, n1) Non POWER(value, n) Oui REMAINDER(n1, n2) Oui ROUND (num, integer) Oui SIGN(exp) Oui SIN(num) Oui SINH(num) Oui SQRT(num) Oui TAN(num) Oui TANH(num) Oui Détails Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 245 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique TRUNC (number) Oui WIDTH_BUCKET Oui Détails Fonctions de référence d'objet Clause Conversion automatique Détails DEREF Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) MAKE_REF Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) REF Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) REFTOHEX Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) VALUE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Clause Conversion automatique Détails APPENDCHILDXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) DELETEXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) DEPTH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) EXISTSNODE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) EXTRACT (XML) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) EXTRACTVALUE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) INSERTCHILDXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) INSERTXMLBEFORE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Fonctions XML Version 1.0 246 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails PATH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SYS_DBURIGEN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SYS_XMLAGG Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) SYS_XMLGEN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) UPDATEXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLAGG Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLCDATA Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLCOLATTVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLCOMMENT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLCONCAT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLFOREST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLPARSE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLPI Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLQUERY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLROOT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLSEQUENCE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLSERIALIZE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLTABLE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) XMLTRANSFORM Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Version 1.0 247 AWS Schema Conversion Tool Guide de l'utilisateur DML Indicateurs Clause Conversion automatique Détails Index et cluster Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Ordre des jointures Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Jointures Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Mode Optimiseur Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Exécution en parallèle Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Transformation de requête Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Autre Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Clause Conversion automatique Détails Jointures croisées Oui Jointures internes Oui Jointures externes Oui Jointures Fonctions d'opérateurs et de date Clause Conversion automatique Opérateurs arithmétiques Oui Opérateurs de concaténation Oui Détails Prédicats Clause Conversion automatique Conditions booléennes Oui Détails Version 1.0 248 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails Conditions de comparaison : Oui '=, <>, <, <=, >, >=, ANY, SOME, ALL Conditions Exists Oui Conditions In Oui Conditions Null Oui Conditions de Oui correspondance de modèles Conditions de plage Oui Opérateurs d'ensembles Opérateurs de concaténation Clause Conversion automatique INTERSECT, EXCEPT Oui MINUS Oui UNION, UNION ALL Oui Détails Instructions DELETE Clause Conversion automatique Détails DELETE FROM MATERIALIZED VIEW Non Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW matérialisée (p. 281) DELETE FROM SUBQUERY Non Problème 5068 : PostgreSQL ne prend pas en charge l'instruction DELETE pour une sous-requête (p. 278) DELETE FROM TABLE Oui DELETE FROM VIEW Oui DELETE avec clause Error Logging Non DELETE avec clause RETURNING Oui Problème 5067 : PostgreSQL ne prend pas en charge l'instruction DELETE avec l'option ERROR LOG (p. 278) Version 1.0 249 AWS Schema Conversion Tool Guide de l'utilisateur DML HIERARCHICAL QUERY AND HIERARCHICAL QUERY PSEUDOCOLUMNS Clause Conversion automatique CONNECT BY CLAUSE Oui CONNECT BY NOCYCLE Non Pseudo-colonne CONNECT_BY_ISLEAF Oui LEVEL PSEUDOCOLUMN Oui ORDER SIBLINGS BY Oui START WITH CLAUSE Oui SYS_CONNECT_BY_PATH Oui Détails Problème 5586 : Conversion automatique des requêtes assorties de la clause NOCYCLE non prise en charge (p. 283) Opérateurs de requête hiérarchique Clause Conversion automatique CONNECT_BY_ROOT Oui PRIOR Oui Détails INSERT Clause Conversion automatique ALL Oui DEFAULT Oui ELSE Oui FIRST Oui Détails INSERT à partir de la clause Oui « SUBQUERY » INSERT à partir de la clause Oui « VALUES(...) » INSERT INTO SUBQUERY Non INSERT INTO TABLE Oui INSERT INTO VIEW Oui Problème 5071 : PostgreSQL ne prend pas en charge l'instruction INSERT pour une sous-requête (p. 280) Version 1.0 250 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails INSERT avec partition_extension_clause Non Problème 5024 : PostgreSQL ne prend pas en charge l'instruction INSERT avec partition_extension_clause (p. 280) Insertion dans une table Non avec la clause Error Logging RETURNING INTO Oui WHEN Oui Problème 5070 : PostgreSQL ne prend pas en charge l'instruction INSERT avec l'option ERROR LOG (p. 280) LOCK TABLE Clause Conversion automatique Verrouillage de table en mode exclusif Oui Verrouillage de table en mode partage Oui Verrouillage sans attente Oui Détails SELECT Clause Conversion automatique Détails Opérateur d'addition ou de soustraction Oui BULK COLLECT INTO Non Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO (p. 283) CUBE Non Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 283) FOR UPDATE Non Problème 5139 : PostgreSQL ne prend pas en charge FOR UPDATE SKIP LOCKED (p. 283) GROUP BY Oui GROUPING SETS Non HAVING Oui INTERSECT Oui INTO Oui MINUS Oui Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 283) Version 1.0 251 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails MODEL Non Problème 5126 : PostgreSQL ne prend pas en charge l'instruction MODEL (p. 283) ORDER BY Oui Clause PIVOT Non Problème 5077 : PostgreSQL ne prend pas en charge la clause PIVOT pour l'instruction SELECT (p. 289) ROLLUP Non Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 283) Pseudo-colonne ROWNUM Oui SELECT ALL Oui SELECT DISTINCT Oui SELECT LIST Oui SELECT UNIQUE Oui UNION Oui UNION ALL Oui Clause UNPIVOT Oui WHERE( field_name1, Oui …,fieldnameN) IN (subquery_with_multiple_fields) WHERE Oui comparison_condition (=;<>;! =;<;>;>=;<=;ANY;SOME;ALL) WHERE Oui compound_condition_with_or_and_not WHERE field_name BETWEEN arg1 AND arg2 Oui WHERE field_name IN (const1,...,constN) Oui WHERE field_name IN (subquery) Oui WHERE like_condition (operator LIKE) Oui WITH Oui Version 1.0 252 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL UPDATE Clause Conversion automatique Détails UPDATE (subquery) Non Problème 5065 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une sous-requête (p. 288) UPDATE MATERIALIZED VIEW Non Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW matérialisée (p. 281) UPDATE TABLE Oui UPDATE VIEW Oui UPDATE avec clause Error Logging Non Problème 5064 : PostgreSQL ne prend pas en charge l'instruction UPDATE avec l'option ERROR LOG (p. 288) UPDATE avec clause d'extension de partition Non Problème 5558 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une PARTITION (p. 288) UPDATE avec clause RETURNING…INTO Oui UPDATE avec sousrequêtes dans la clause SET Oui Opérateur UPDATE basé sur les données d'autres tables Oui Clause Conversion automatique Détails MERGE Non Problème 5102 : PostgreSQL ne prend pas en charge l'instruction MERGE (p. 281) TRUNCATE TABLE Oui PLSQL Arguments des fonctions et des procédures Clause Conversion automatique Arguments scalaires des type de données intégrés Oui Arguments de type curseur Oui Clause par défaut dans la déclaration d'arguments Oui Détails Version 1.0 253 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion automatique Type d'argument IN, OUT, IN OUT Oui Arguments de type curseur de référence Oui Arguments de type collection UDT Oui Arguments de type objet UDT Oui Type d'enregistrement UDT Oui Détails Fonctions Clause Conversion automatique Fonctions avec DML Oui Fonctions sans DML Oui Retour d'une table en pipeline Oui Retour d'un curseur de référence Oui Retour de valeurs scalaires Oui Retour d'une table Oui Retour d'un type de collection UDT Oui Retour d'un type d'objet UDT Oui Retour d'un type d'enregistrement UDT Oui Détails Packages Clause Conversion automatique Détails Déclaration de curseur global Non Problème 5569 : PostgreSQL prend uniquement en charge les variables de session en utilisant les types d'heure et de temps standard SQL (p. 282) Version 1.0 254 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion automatique Détails Déclaration d'exception utilisateur globale Non Problème 5569 : PostgreSQL prend uniquement en charge les variables de session en utilisant les types d'heure et de temps standard SQL (p. 282) Bloc d'initialisation block BEGIN … END dans les packages Oui Fonctions de package Oui Procédures de package Oui Variables de package Oui Déclaration de type utilisateur Oui Constructions PL SQL Clause Conversion automatique block EXCEPTION when exception_name then… Oui CASE_NOT_FOUND Oui case when conditions then…else… end case; Oui close cursor_variable Oui COMMIT Oui Détails CURSOR_ALREADY_OPEN Oui DUP_VAL_ON_INDEX Oui execute immediate SQL_string_variable into variables_list use variables_list Non fetch cursor_variable into variables_list Oui FORALL -cycle Non for I in(begN..endN) loop… end loop Oui for I in(cursor_name) loop… end loop Oui Problème 5334 : PostgreSQL ne prend pas en charge l'instruction SQL dynamique (p. 278) Problème 5121 : PostgreSQL ne prend pas en charge l'instruction FORALL (p. 287) Version 1.0 255 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion automatique for I in(select_statement) loop… end loop Oui FOR i IN REVERSE begN..endN LOOP… END LOOP; Oui goto label; Non if conditions then…else if conditions then… end if; Oui if conditions then… end if; Oui INVALID_CURSOR Oui INVALID_NUMBER Oui LOGIN_DENIED Oui LOOP…exit when conditions; END LOOP; Oui NO_DATA_FOUND Oui NOT_LOGGED_ON Oui Instruction NULL Oui open cursor_variable Oui Détails Problème 5335 : PostgreSQL ne prend pas en charge l'opérateur GOTO (p. 284) open cursor_variable for Oui select_statemet_string_variable others Oui PRAGMA Non AUTONOMOUS_TRANSACTION PROGRAM_ERROR Problème 5350 : La fonction ne peut pas utiliser les instructions qui débutent ou terminent explicitement ou implicitement une transaction, telles que START TRANSACTION, COMMIT ou ROLLBACK (p. 280) Oui raise_application_error(exept_code, Oui message) raise exeption_name Oui ROLLBACK Oui select…bulk collect into table_variable from table_name Non SQL%BULK_ROWCOUNT Non SQL%FOUND Oui Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO (p. 283) Version 1.0 256 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion automatique Détails SQL%ISOPEN Non Problème 5084 : PostgreSQL ne prend pas en charge l'attribut de curseur %ISOPEN (p. 277) SQL%NOTFOUND Oui SQL%ROWCOUNT Oui STORAGE_ERROR Oui TIMEOUT_ON_RESOURCE Oui TOO_MANY_ROWS Oui TRANSACTION_BACKED_OUT Oui VALUE_ERROR Oui while conditions loop… end loop; Oui ZERO_DIVIDE Oui Bloc de déclaration PL SQL Clause Conversion automatique Déclaration d'une variable scalaire intégrée Oui Déclaration d'une variable ref-cursor Oui Déclaration d'un curseur statique Oui Déclaration d'une variable de collection UDT Oui Déclaration d'une variable d'objet UDT Oui Déclaration d'une variable d'enregistrement UDT Oui Déclaration de types de tableau UDT Oui Déclaration d'une exception utilisateur Oui Déclaration avec l'option %rowtype Oui Déclaration avec l'option %type Oui Détails Version 1.0 257 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Procédures Clause Conversion automatique Instruction CREATE PROCEDURE Oui Détails Déclencheurs Clause Conversion automatique Détails BEFORE, AFTER - options Oui FOR EACH ROW -option Oui INSTEAD OF - options Oui NESTED TABLE - clause Non Problème 5240 : PostgreSQL ne prend pas en charge les déclencheurs dans les colonnes de table imbriquée figurant dans les vues (p. 285) REFERENCING - clause Non Problème 5238 : PostgreSQL ne prend pas en charge les clauses REFERENCING (p. 286) Statement-trigger Non déclencheur dans TABLE Oui Déclencheur dans VIEW Oui WHEN(condition)- option Non Types de données Type de données Converti Détails automatiquement en BFILE character varying BINARY_FLOAT real BINARY_DOUBLE double precision BLOB bytea CHAR(n) character CHARACTER(n) character CLOB text Problème 5212 : PostgreSQL n'a pas un type de données BFILE (p. 274) Version 1.0 258 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Converti Détails automatiquement en DATE timestamp(0) without time zone DECIMAL(p,s) numeric DEC(p,s) numeric FLOAT double precision INTEGER numeric INT numeric INTERVAL YEAR(p) TO MONTH interval year to month INTERVAL DAY(p) TO SECOND(s) interval day to second(s) LONG text LONG RAW bytea NCHAR(n) character NCHAR VARYING(n) character varying NCLOB text NUMBER(p) numeric NUMBER(p,0) numeric NUMBER(*,0) numeric NUMBER(p,s) numeric NUMBER(*) double precision NUMBER double precision NVARCHAR2(n) character varying RAW(n) bytea ROWID character TIMESTAMP(p) timestamp(p) without time zone Problème 5550 : PostgreSQL n'a pas un type de données ROWID (p. 275) Version 1.0 259 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Type de données Converti Détails automatiquement en TIMESTAMP(p) timestamp(6) without time zone TIMESTAMP(p) WITH TIME ZONE timestamp(p) with time zone TIMESTAMP(p) WITH TIME ZONE timestamp(6) with time zone TIMESTAMP(p) WITH LOCAL TIME ZONE timestamp(p) without time zone TIMESTAMP(p) WITH LOCAL TIME ZONE timestamp(6) without time zone Problème 5553 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) (p. 276) UROWID character varying Problème 5551 : PostgreSQL n'a pas un type de données UROWID (p. 276) VARCHAR character varying VARCHAR2 character varying XMLTYPE xml Problème 5213 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) (p. 276) Problème 5552 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) (p. 276) Référence de conversion d'Oracle vers PostgreSQL Utilisez les sections suivantes pour obtenir des informations sur les types de problèmes que vous pouvez rencontrer lors d'une conversion d'Oracle vers PostgreSQL. Cliquez sur le lien éventuel dans la colonne Problème pour obtenir des informations plus détaillées sur la résolution du problème en question. Build_in_services Elément Problème Résolution UTL_SMTP DBMS_JOB Problème 5590 : La fonction a été convertie en tant que procédure (p. 272) Impossible de retourner une réponse car cette fonctionnalité est asynchrone. Version 1.0 260 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Fonctions SQL intégrées Elément Problème Résolution Fonction DateTime Problème 5584 : La fonction %s dépend du paramètre de fuseau horaire (p. 273) Examinez le code transformé et définissez le fuseau horaire manuellement si nécessaire. FONCTION Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 273) Utilisez la fonction appropriée ou créez la fonction définie par l'utilisateur. GREATEST(exp, exp2, ...) Problème 5271 : Les fonctions GREATEST d'Oracle et de PostgreSQL ne donnent pas nécessairement les mêmes résultats (p. 273) Examinez votre code transformé et modifiez-le, si nécessaire. Modifiez un type d'argument si nécessaire. LEAST(exp, exp2, ...) Problème 5272 : Les fonctions LEAST d'Oracle et de PostgreSQL ne donnent pas nécessairement les mêmes résultats (p. 273) Examinez votre code transformé et modifiez-le, si nécessaire. Modifiez un type d'argument si nécessaire. TO_CHAR, TO_DATE, TO_NUMBER Problème 5579 : Le deuxième paramètre de la fonction %s peut être traité de manière incorrecte (p. 273) Vérifiez le code converti et effectuez des corrections manuelles si nécessaire. Problème Résolution Problème 5099 : Impossible de convertir l'objet en raison de la non création de %s (p. 273) Examinez l'objet %s. Problème 5332 : L'objet contient des références sur l'objet présent dans le schéma %s (p. 273) Convertissez également l'objet présent dans le schéma %s. Problème 5582 : Objets chiffrés (p. 274) Déchiffrez l'objet avant la conversion. CREATE Elément Objets chiffrés CREATE CONSTRAINT Elément Problème Résolution état = DESACTIVE Problème 5326 : PostgreSQL ne prend pas en charge les contraintes dont l'état est DISABLED (p. 274) Supprimez la contrainte. CREATE INDEX Elément Problème Résolution Création d'un index de domaine Problème 5208 : PostgreSQL ne prend pas en charge les index de domaine (p. 274) Modifiez votre code et essayez d'utiliser l'index simple. Version 1.0 261 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution Création d'un index basé sur la fonction Problème 5555 : PostgreSQL ne prend pas en charge les index fonctionnels qui ne tiennent pas sur une seule colonne (p. 274) Modifiez votre code et essayez d'utiliser l'index simple. Création d'un index de BITMAP Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap (p. 274) Modifiez votre code et essayez d'utiliser l'index simple. CREATE TABLE Elément Problème Résolution Type de données BFILE Problème 5212 : PostgreSQL n'a pas un type de données BFILE (p. 274) Stockez un fichier nommé avec les données et créez une routine qui obtient ce fichier du système de fichiers ou stockez le blob de données dans votre base de données. CREATION D'UNE TABLE PARTITIONNEE Problème 5201 : PostgreSQL ne prend pas en charge tous les types de partition (p. 275) Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge. CREATION D'UNE TABLE EN CLUSTER Problème 5199 : PostgreSQL ne prend pas en charge CLUSTERED TABLE (p. 275) Essayez d'utiliser une table avec des déclencheurs. CREATION DE TABLES EXTERNES Problème 5200 : PostgreSQL ne prend pas en charge EXTERNAL TABLES (p. 275) Essayez d'utiliser une table. CREATION D'UNE Problème 5198 : PostgreSQL ne prend TABLE TEMPORAIRE pas en charge GLOBAL TEMPORARY GLOBALE TABLE (p. 275) Essayez à nouveau à l'aide d'une table temporaire locale. CREATION DE TABLES DE L'OBJET Problème 5196 : PostgreSQL ne prend pas en charge OBJECT TABLE (p. 275) Corrigez votre code pour éviter OBJECT TABLE. Table organisée en index Problème 5581 : PostgreSQL ne prend pas en charge la table organisée en index (p. 275) Modifiez votre architecture avec une solution personnalisée pour le type de table. TABLE IMBRIQUEE Problème 5348 : PostgreSQL ne prend pas en charge NESTED TABLES (p. 275) Modifiez votre code pour éviter NESTED TABLE. Type de données ROWID Problème 5550 : PostgreSQL n'a pas un type de données ROWID (p. 275) Examinez votre code transformé et modifiez-le, si nécessaire. TABLE AVEC DES COLONNES VIRTUELLES Problème 5554 : PostgreSQL ne prend pas en charge les colonnes virtuelles (p. 275) Elles ont été émulées par un déclencheur. Version 1.0 262 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution TIMESTAMP(n>6) Type de données Problème 5213 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) (p. 276) Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision. Type de données TIMESTAMP(n>6) WITH TIME ZONE Problème 5552 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) (p. 276) Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision. Type de données TIMESTAMP(n>6) WITH LOCAL TIME ZONE Problème 5553 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) (p. 276) Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision. Type de données UROWID Problème 5551 : PostgreSQL n'a pas un type de données UROWID (p. 276) Examinez votre code transformé et modifiez-le, si nécessaire. Elément Problème Résolution OBJECT TYPE Problème 5572 : PostgreSQL ne prend pas en charge les méthodes de type objet (p. 277) Modifiez votre architecture avec une solution personnalisée pour le type d'utilisateur. Elément Problème Résolution Attributs de curseur Problème 5084 : PostgreSQL ne prend pas en charge l'attribut de curseur %ISOPEN (p. 277) Corrigez la façon dont vous utilisez cet attribut dans votre code. TYPE .. IS REF CURSOR Problème 5226 : PostgreSQL ne prend pas en charge TYPE... IS REF CURSOR (p. 277) Remplacez la fonction par une procédure stockée et essayez d'utiliser une table pour stocker les résultats. CREATE TYPE CURSOR Expressions DateTime Elément Problème Résolution à l'échelle locale à fuseau horaire Problème 5594 : PostgreSQL ne prend pas en charge l'expression datetime %s. La perte de précision et/ou d'exactitude des données est possible (p. 277) Vérifiez si les données enfreignent ces restrictions. Si c'est le cas, effectuez une migration manuelle. Version 1.0 263 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL DELETE Elément Problème Résolution ERROR LOG Problème 5067 : PostgreSQL ne prend pas en charge l'instruction DELETE avec l'option ERROR LOG (p. 278) Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. PARTITION Problème 5098 : PostgreSQL ne prend pas en charge l'instruction DELETE pour une PARTITION (p. 278) Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de l'instruction DELETE. QUERY Problème 5068 : PostgreSQL ne prend pas en charge l'instruction DELETE pour une sousrequête (p. 278) Effectuez plutôt cette opération sur les tables sousjacentes. Elément Problème Résolution BULK COLLECT Problème 5088 : PostgreSQL ne prend pas en charge l'instruction EXECUTE IMMEDIATE avec BULK COLLECT (p. 278) Procédez à une conversion manuelle. EXECUTE IMMEDIATE Problème 5334 : PostgreSQL ne prend pas en charge l'instruction SQL dynamique (p. 278) Examinez et modifiez la chaîne d'exécution. RETURNING BULK COLLECT INTO Problème 5087 : PostgreSQL ne prend pas en charge la clause RETURNING BULK COLLECT INTO (p. 278) Procédez à une conversion manuelle. Problème Résolution DYNAMIC SQL EXCEPTION Elément ACCESS_INTO_NULL Problème 5561 : PostgreSQL ne prend pas en charge l'exception ACCESS_INTO_NULL (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. COLLECTION_IS_NULL Problème 5562 : PostgreSQL ne prend pas en charge l'exception COLLECTION_IS_NULL (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. EMPTY_BLOCK Vérifiez le code converti et effectuez des corrections manuelles si nécessaire. Problème 5580 : Le bloc d'exception a été vidé après la conversion (p. 279) Version 1.0 264 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution EXCEPTION Problème 5570 : PostgreSQL ne prend pas en charge la déclaration de nom d'exception (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. NO_DATA_NEEDED Problème 5563 : PostgreSQL ne prend pas en charge l'exception NO_DATA_NEEDED (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. PROGRAM_ERROR Problème 5560 : PostgreSQL ne prend pas en charge l'exception PROGRAM_ERROR (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. ROWTYPE_MISMATCH Problème 5564 : PostgreSQL ne prend pas en charge l'exception ROWTYPE_MISMATCH (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. SELF_IS_NULL Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5565 : PostgreSQL ne prend pas en charge l'exception SELF_IS_NULL (p. 279) SUBSCRIPT_BEYOND_COUNT Problème 5566 : PostgreSQL ne prend pas en charge l'exception SUBSCRIPT_BEYOND_COUNT (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. SUBSCRIPT_OUTSIDE_LIMIT Problème 5567 : PostgreSQL ne prend pas en charge l'exception SUBSCRIPT_OUTSIDE_LIMIT (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. SYS_INVALID_ROWID Problème 5568 : PostgreSQL ne prend pas en charge l'exception SYS_INVALID_ROWID (p. 279) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. CURSEURS EXPLICITES Elément Problème Résolution RETURN Problème 5559 : PostgreSQL ne prends pas en charge le TYPE DE RESULTAT pour le curseur (p. 280) Utilisez la déclaration de curseur sans cette instruction. Elément Problème Résolution FONCTIONS avec DML (START TRANSACTION, COMMIT ou ROLLBACK.) Problème 5350 : La fonction ne peut pas Corrigez votre code pour utiliser les instructions qui débutent ou implémenter un contrôle de terminent explicitement ou implicitement une transaction côté application. transaction, telles que START TRANSACTION, COMMIT ou ROLLBACK (p. 280) FONCTION Version 1.0 265 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL INSERT Elément Problème Résolution ERROR LOG Problème 5070 : PostgreSQL ne prend pas en charge l'instruction INSERT avec l'option ERROR LOG (p. 280) Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. INSERT avec Problème 5024 : PostgreSQL ne prend partition_extension_clause pas en charge l'instruction INSERT avec partition_extension_clause (p. 280) Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge. QUERY Problème 5071 : PostgreSQL ne prend pas en charge l'instruction INSERT pour une sousrequête (p. 280) Effectuez plutôt cette opération sur les tables sousjacentes. SUBPARTITION Problème 5090 : PostgreSQL ne prend pas en charge l'instruction INSERT pour une SUBPARTITION (p. 281) Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de l'instruction INSERT. MATERIALIZED VIEW Elément Problème Résolution CREATE Problème 5094 : PostgreSQL ne prend pas en charge VIEW matérialisée (p. 281) Modifiez votre code pour remplacer une VUE matérialisée par une autre solution. A L'AIDE DE LA VUE MATERIALISEE Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW matérialisée (p. 281) Modifiez votre code pour remplacer une VUE matérialisée par une autre solution. Elément Problème Résolution MERGE Problème 5102 : PostgreSQL ne prend pas en charge l'instruction MERGE (p. 281) Pour obtenir l'effet d'une instruction MERGE, utilisez les instructions INSERT, DELETE et UPDATE distinctes. MERGE Version 1.0 266 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Indicateurs d'optimiseur Elément Problème Résolution HINT Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 281) Utilisez les méthodes PostgreSQL d'optimisation des performances. Elément Problème Résolution Curseur global du package Problème 5330 : PostgreSQL ne prend pas en charge les curseurs globaux (p. 282) Utilisez une autre méthode pour cette fonctionnalité. Utilisateur global du package EXCEPTION Problème 5331 : PostgreSQL ne prend pas en charge une exception d'utilisateur globale (p. 282) Utilisez une autre méthode pour cette fonctionnalité. PACKAGES Déclaration du type de Problème 5569 : PostgreSQL prend package utilisateur uniquement en charge les variables de session en utilisant les types d'heure et de temps standard SQL (p. 282) Modifiez votre architecture avec une solution personnalisée pour le type d'utilisateur. Parser Error Elément Problème Résolution Parser Error Problème 5293 : Impossible de résoudre l'objet (p. 282) Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Elément Problème Résolution PRAGMA Problème 5571 : PostgreSQL ne prend pas en charge les options PRAGMA (p. 282) Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Elément Problème Résolution BULK COLLECT INTO Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO (p. 283) Vous pouvez essayer d'inclure tous les champs de votre table dans une clause INTO. PRAGMA SELECT Version 1.0 267 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution FOR UPDATE SKIP LOCKED Problème 5139 : PostgreSQL ne prend pas en charge FOR UPDATE SKIP LOCKED (p. 283) Essayez d'utiliser FOR UPDATE sans SKIP LOCKED. FOR UPDATE WAIT Problème 5144 : PostgreSQL ne prend pas en charge les clauses FOR UPDATE WAIT (p. 283) Essayez d'utiliser FOR UPDATE sans WAIT. Requêtes hiérarchiques Problème 5586 : Conversion automatique des requêtes assorties de la clause NOCYCLE non prise en charge (p. 283) Procédez à une conversion manuelle. MODEL Problème 5126 : PostgreSQL ne prend pas en charge l'instruction MODEL (p. 283) Modifiez votre code et essayez d'utiliser les procédures utilisateur et les tables temporaires. OUTER JOIN Problème 5585 : Conversion automatique d'une jointure externe en requête de corrélation non prise en charge (p. 283) Procédez à une conversion manuelle. ROLLUP Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 283) Cela peut être émulé en utilisation des expressions CTE. GROUPING SETS, CUBE et ROLLUP sont disponibles dans la base de données PostgreSQL v.9.5 ou supérieure. Instruction non prise en charge Problème 5578 : Impossible de transformer automatiquement l'instruction SELECT (p. 283) Essayez de réécrire l'instruction. Elément Problème Résolution ETAT = NON VALIDE Problème 5574 : PostgreSQL ne prend pas en charge de l'état de la séquence (p. 283) Vérifiez que la séquence d'origine ne comporte pas d'erreurs et renouvelez la conversion. Elément Problème Résolution GOTO Problème 5335 : PostgreSQL ne prend pas en charge l'opérateur GOTO (p. 284) Procédez à une conversion manuelle. SEQUENCE Instructions Version 1.0 268 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Synonyme Elément Problème Résolution synonyme privé Problème 5333 : Cet objet utilise un synonyme privé (p. 284) Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. synonyme public Problème 5592 : Cet objet utilise un synonyme public qui fait référence à une table, à une vue ou à une fonction (p. 284) Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. synonyme public Problème 5593 : Cet objet utilise un synonyme public qui ne fait pas référence à d'autres objets (p. 284) Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. Paquet de système Elément Problème Résolution Package APEX_UTIL Problème 5503 : MySQL ne comporte pas de fonction similaire au module %s (p. 285) Essayez à nouveau à l'aide de l'Amazon Simple Workflow (Amazon SWF). DBMS_DATAPUMP Problème 5502 : MySQL ne comporte pas de fonction similaire au module %s (p. 285) Essayez à nouveau à l'aide de l'AWS Import/Export Snowball. Module DBMS_JOB Problème 5501 : MySQL ne comporte pas de fonction similaire au module %s (p. 285) Essayez d'utiliser le service AWS Lambda avec les événements planifiés. Module UTL_MAIL Problème 5500 : MySQL ne comporte pas de fonction similaire au module %s (p. 285) Essayez d'utiliser Amazon Simple Notification Service (Amazon SNS). Elément Problème Résolution action-type=CALL ou PL/SQL Problème 5313 : PostgreSQL ne prend pas en charge la clause action-type (p. 285) Utilisez une autre méthode pour cette fonctionnalité. base-objecttype=DATABASE Problème 5415 : PostgreSQL ne prend pas en charge les déclencheurs système (p. 285) Corrigez votre code pour remplacer les déclencheurs système par une autre solution. base-objecttype=SCHEMA Problème 5311 : PostgreSQL ne prend pas en charge les déclencheurs système (p. 285) Corrigez votre code pour remplacer les déclencheurs système par une autre solution. COMPOUND TRIGGER Problème 5242 : PostgreSQL ne prend pas en charge COMPOUND TRIGGER (p. 285) Créez un déclencheur unique pour chaque composant du déclencheur composé. TRIGGERS Version 1.0 269 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution FOLLOWS | PRECEDES Problème 5241 : PostgreSQL ne prend pas en charge la clause FOLLOWS | PRECEDES (p. 285) Essayez d'utiliser le déclencheur FOR EACH ROW. ON NESTED TABLE Problème 5240 : PostgreSQL ne prend pas en charge les déclencheurs dans les colonnes de table imbriquée figurant dans les vues (p. 285) Corrigez votre code pour remplacer la table imbriquée par une autre solution. REFERENCING NEW AS .. OLD AS .. Problème 5238 : PostgreSQL ne prend pas en charge les clauses REFERENCING (p. 286) Modifiez les références aux pseudo-lignes pour utiliser à la place OLD et NEW. referencingnames=PARENT Problème 5317 : PostgreSQL ne prend pas en charge la clause de référencement PARENT (p. 286) Utilisez une autre méthode pour cette fonctionnalité. état = non valide Problème 5306 : Transformation à partir d'un déclencheur non valide (p. 286) Vérifiez que le déclencheur d'origine ne comporte pas d'erreurs et renouvelez la conversion. UPDATING(column_name) Problème 5556 : PostgreSQL ne prend pas en charge les prédicats conditionnels (p. 286) Corrigez votre code et essayez d'utiliser des déclencheurs simples. TRUNCATE TABLE Elément Problème Résolution DROP STORAGE Problème 5298 : PostgreSQL ne prend pas en charge la clause DROP STORAGE dans l'instruction TRUNCATE (p. 286) Utilisez TRUNCATE sans cette option. PRESERVE MATERIALIZED VIEW LOG Problème 5300 : PostgreSQL ne prend pas en charge la clause PRESERVE dans l'instruction TRUNCATE (p. 286) Utilisez TRUNCATE sans cette option. PURGE MATERIALIZED VIEW LOG Problème 5301 : PostgreSQL ne prend pas en charge la clause PURGE dans l'instruction TRUNCATE (p. 286) Utilisez TRUNCATE sans cette option. REUSE STORAGE Problème 5299 : PostgreSQL ne prend pas en charge la clause REUSE STORAGE dans l'instruction TRUNCATE (p. 286) Utilisez TRUNCATE sans cette option. Elément Problème Résolution ETAT = NON VALIDE Problème 5577 : PostgreSQL ne prend pas en charge UDT avec corps (p. 287) Procédez à une conversion manuelle. UDT Version 1.0 270 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Arguments de type collection UDT Elément Problème Résolution := collection_type(...) Problème 5120 : PostgreSQL ne prend pas en charge les constructeurs du type « collection » (p. 287) Utilisez le type de « tableau ». EXTEND(n[,i]) Problème 5587 : PostgreSQL ne prend pas en charge la méthode EXTEND avec des paramètres (p. 287) Procédez à une conversion manuelle. FORALL Problème 5121 : PostgreSQL ne prend pas en charge l'instruction FORALL (p. 287) Utilisez une instruction FOR LOOP. TYPE .. IS TABLE OF... Problème 5118 : PostgreSQL ne prend pas en charge les variables de type de tableau (p. 287) Utilisez le type de « tableau ». Elément Problème Résolution Elément d'action universel Problème 5339 : L'objet %s n'est pas valide (p. 287) Pour corriger cela, mettez à jour le code source d'origine pour que l'objet spécifié soit valide. Elément d'action universel Problème 5591 : Le synonyme %s est système (p. 287) Procédez à une conversion manuelle. Universal Unknown (inconnu) Elément Problème Résolution Problème 5025 : Cette conversion d'élément syntaxique n'est pas encore prise en charge (p. 288) Procédez à une conversion manuelle. Objet inconnu Problème 5351 : La conversion automatique d'objet %s n'est pas prise en charge (p. 288) Procédez à une conversion manuelle. SQL non analysé Question 5576 : SQL non analysé (p. 288) Procédez à une conversion manuelle. Elément Problème Résolution ERROR LOG Problème 5064 : PostgreSQL ne prend pas en charge l'instruction UPDATE avec l'option ERROR LOG (p. 288) Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc UPDATE Version 1.0 271 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. PARTITION Problème 5558 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une PARTITION (p. 288) Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide de l'instruction UPDATE. QUERY Problème 5065 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une sousrequête (p. 288) Effectuez plutôt cette opération sur les tables sousjacentes. Elément Problème Résolution CAST (MULTISET( Problème 5245 : PostgreSQL ne prend pas en charge les vues contenant des colonnes de table imbriquée (p. 289) Corrigez votre code pour remplacer la table imbriquée par une autre solution. contrainte Problème 5583 : PostgreSQL ne prend pas en charge les contraintes pour view (p. 289) Procédez à une conversion manuelle. OID_TEXT IS NOT NULL Problème 5321 : PostgreSQL ne prend pas en charge l'objet view (p. 289) Procédez à une conversion manuelle. Clause PIVOT Problème 5077 : PostgreSQL ne prend pas en charge la clause PIVOT pour l'instruction SELECT (p. 289) Vous pouvez utiliser une procédure stockée pour préparer les données, puis retourner les données avec une vue. ETAT = NON VALIDE Problème 5320 : PostgreSQL ne prend pas en charge une vue associée à l'état non valide (p. 289) Procédez à une conversion manuelle. VIEW VIEW_TYPE_OWNER Problème 5322 : PostgreSQL ne prend pas en IS NOT NULL charge une vue typée (p. 289) Procédez à une conversion manuelle. WITH READ ONLY Utilisez VIEW sans cette option, à la place. Problème 5075 : PostgreSQL ne prend pas en charge VIEW avec l'option READ ONLY (p. 289) Problèmes de conversion avec Build_in_services Problème 5590 : La fonction a été convertie en tant que procédure Impossible de retourner une réponse car cette fonctionnalité est asynchrone. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) Version 1.0 272 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec BUILT-IN SQL FUNCTIONS Problème 5584 : La fonction %s dépend du paramètre de fuseau horaire Examinez le code transformé et définissez le fuseau horaire manuellement si nécessaire. Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s Vous avez du code SQL qui utilise une fonction Oracle que PostgreSQL ne prend pas en charge. Réécrivez le code de façon à utiliser une autre fonction ou créez à la place une fonction définie par l'utilisateur. Voici quelques-unes des fonctions qui ne sont pas prises en charge : • NANVL • NLS_LOWER • NLS_UPPER • SYS_CONTEXT Problème 5271 : Les fonctions GREATEST d'Oracle et de PostgreSQL ne donnent pas nécessairement les mêmes résultats Examinez votre code transformé et modifiez-le en changeant le type de l'argument, si nécessaire. Problème 5272 : Les fonctions LEAST d'Oracle et de PostgreSQL ne donnent pas nécessairement les mêmes résultats Examinez votre code transformé et modifiez-le en changeant le type de l'argument, si nécessaire. Problème 5579 : Le deuxième paramètre de la fonction %s peut être traité de manière incorrecte Examinez votre code transformé et modifiez-le, si nécessaire. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE Problème 5099 : Impossible de convertir l'objet en raison de la non création de %s Examinez l'objet %s. Problème 5332 : L'objet contient des références sur l'objet présent dans le schéma %s Convertissez également l'objet présent dans le schéma %s. Version 1.0 273 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problème 5582 : Objets chiffrés Déchiffrez l'objet avant la conversion. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE CONSTRAINT Problème 5326 : PostgreSQL ne prend pas en charge les contraintes dont l'état est DISABLED PostgreSQL ne prend pas en charge la clause DISABLE au niveau des contraintes. Supprimez la contrainte avant la conversion. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE INDEX Problème 5208 : PostgreSQL ne prend pas en charge les index de domaine Corrigez votre code de façon à utiliser à la place un index simple. Problème 5555 : PostgreSQL ne prend pas en charge les index fonctionnels qui ne tiennent pas sur une seule colonne Corrigez votre code de façon à utiliser à la place un index simple. Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap Corrigez votre code de façon à utiliser à la place un index simple. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec CREATE TABLE Problème 5212 : PostgreSQL n'a pas un type de données BFILE Stockez un fichier nommé avec les données et créez une routine qui obtient ce fichier du système de fichiers ou stockez le blob de données dans votre base de données. Version 1.0 274 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problème 5201 : PostgreSQL ne prend pas en charge tous les types de partition Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge. Problème 5199 : PostgreSQL ne prend pas en charge CLUSTERED TABLE Essayez à la place d'utiliser une table avec des déclencheurs. Problème 5200 : PostgreSQL ne prend pas en charge EXTERNAL TABLES Essayez de déplacer les données de la source de données externe à une table de base de données normale. Problème 5198 : PostgreSQL ne prend pas en charge GLOBAL TEMPORARY TABLE L'utilisation de mots clés LOCAL et GLOBAL est obsolète dans PostgreSQL. Modifiez votre code pour créer une table temporaire sans utiliser ces mots clés. Problème 5196 : PostgreSQL ne prend pas en charge OBJECT TABLE Modifiez votre code pour supprimer les références aux tables qui sont basées sur un type OBJECT, comme indiqué dans l'exemple suivant : CREATE TYPE department_typ AS OBJECT ( d_name VARCHAR2(100), d_address VARCHAR2(200) ); / CREATE TABLE departments_obj_t OF department_typ; Problème 5581 : PostgreSQL ne prend pas en charge la table organisée en index Modifiez votre architecture avec une solution personnalisée pour le type de table. Une approche classique est l'utilisation d'une table simple à la place dans PostgreSQL. Problème 5348 : PostgreSQL ne prend pas en charge NESTED TABLES Modifiez votre code pour éviter NESTED TABLE. Problème 5550 : PostgreSQL n'a pas un type de données ROWID Vérifiez votre code transformé et modifiez-le si nécessaire pour utiliser un autre type de données. Problème 5554 : PostgreSQL ne prend pas en charge les colonnes virtuelles Imitez la colonne virtuelle en utilisant un déclencheur à la place. Par exemple, vous pouvez modifier la table Oracle suivante : CREATE TABLE employees2 ( id NUMBER, first_name VARCHAR2(10), last_name VARCHAR2(10), salary NUMBER(9,2), comm1 NUMBER(3), comm2 NUMBER(3), salary1 AS (ROUND(salary*(1+comm1/100),2)), salary2 NUMBER GENERATED ALWAYS AS (ROUND(salary*(1+comm2/100),2)) VIRTUAL, Version 1.0 275 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL CONSTRAINT employees_pk PRIMARY KEY (id) ); Pour les instructions PostgreSQL suivantes : CREATE TABLE IF NOT EXISTS TEST_ORA_PG.employees2 ( id DOUBLE PRECISION NOT NULL, first_name character varying(10), last_name character varying(10), salary NUMERIC(9,2), comm1 NUMERIC(3,0), comm2 NUMERIC(3,0), salary1 DOUBLE PRECISION, salary2 DOUBLE PRECISION ); ALTER TABLE TEST_ORA_PG.EMPLOYEES2 ADD CONSTRAINT EMPLOYEES_PK PRIMARY KEY (ID); CREATE OR REPLACE FUNCTION TEST_ORA_PG.f_trigger_vc$employees2 () RETURNS trigger AS $BODY$ BEGIN new.salary1 := ROUND(new.salary*(1+new.comm1/100),2); new.salary2 := ROUND(new.salary*(1+new.comm2/100),2); return NEW; END; $BODY$ LANGUAGE plpgsql; CREATE TRIGGER trigger_vc$employees2 before insert or update on TEST_ORA_PG.employees2 for each row EXECUTE PROCEDURE TEST_ORA_PG.f_trigger_vc$employees2(); Problème 5213 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision. Problème 5552 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision. Problème 5553 : PostgreSQL étend la prise en charge de secondes fractionnelles pour les valeurs TIME, DATETIME et TIMESTAMP, avec une précision jusqu'aux microsecondes (6 chiffres) Vérifiez votre code transformé et modifiez-le si nécessaire pour éviter une perte de précision. Problème 5551 : PostgreSQL n'a pas un type de données UROWID Vérifiez votre code transformé et modifiez-le si nécessaire pour utiliser un autre type de données. Version 1.0 276 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE TYPE Problème 5572 : PostgreSQL ne prend pas en charge les méthodes de type objet Modifiez votre architecture avec une solution personnalisée pour le type d'utilisateur. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CURSOR Problème 5084 : PostgreSQL ne prend pas en charge l'attribut de curseur %ISOPEN Corrigez la façon dont vous utilisez cet attribut dans votre code. Problème 5226 : PostgreSQL ne prend pas en charge TYPE... IS REF CURSOR PostgreSQL ne prend pas en charge l'instruction TYPE <nom_type> IS REF CURSOR. Remplacez la fonction par une procédure stockée et essayez plutôt d'utiliser une table pour stocker les résultats. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des expressions Datetime Problème 5594 : PostgreSQL ne prend pas en charge l'expression datetime %s. La perte de précision et/ou d'exactitude des données est possible PostgreSQL ne prend pas en charge les expressions datetime AT LOCAL ou AT TIME ZONE <fuseau_horaire>. Examinez votre code et modifiez-le, si nécessaire. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 277 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problèmes de conversion de DELETE Problème 5067 : PostgreSQL ne prend pas en charge l'instruction DELETE avec l'option ERROR LOG Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. Problème 5098 : PostgreSQL ne prend pas en charge l'instruction DELETE pour une PARTITION Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de l'instruction DELETE. Problème 5068 : PostgreSQL ne prend pas en charge l'instruction DELETE pour une sous-requête Effectuez plutôt cette opération sur les tables sous-jacentes. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec DYNAMIC SQL Problème 5088 : PostgreSQL ne prend pas en charge l'instruction EXECUTE IMMEDIATE avec BULK COLLECT Procédez à une conversion manuelle. Problème 5334 : PostgreSQL ne prend pas en charge l'instruction SQL dynamique Examinez et modifiez la chaîne d'exécution. Problème 5087 : PostgreSQL ne prend pas en charge la clause RETURNING BULK COLLECT INTO Procédez à une conversion manuelle. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 278 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problèmes de conversion avec EXCEPTION Problème 5561 : PostgreSQL ne prend pas en charge l'exception ACCESS_INTO_NULL Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5562 : PostgreSQL ne prend pas en charge l'exception COLLECTION_IS_NULL Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5580 : Le bloc d'exception a été vidé après la conversion Vérifiez le code converti et effectuez des corrections manuelles si nécessaire. Problème 5570 : PostgreSQL ne prend pas en charge la déclaration de nom d'exception Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5563 : PostgreSQL ne prend pas en charge l'exception NO_DATA_NEEDED Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5560 : PostgreSQL ne prend pas en charge l'exception PROGRAM_ERROR Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5564 : PostgreSQL ne prend pas en charge l'exception ROWTYPE_MISMATCH Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5565 : PostgreSQL ne prend pas en charge l'exception SELF_IS_NULL Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5566 : PostgreSQL ne prend pas en charge l'exception SUBSCRIPT_BEYOND_COUNT Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5567 : PostgreSQL ne prend pas en charge l'exception SUBSCRIPT_OUTSIDE_LIMIT Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Problème 5568 : PostgreSQL ne prend pas en charge l'exception SYS_INVALID_ROWID Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) Version 1.0 279 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec les CURSEURS EXPLICITES Problème 5559 : PostgreSQL ne prends pas en charge le TYPE DE RESULTAT pour le curseur PostgreSQL ne prend pas en charge la spécification d'un type de résultats pour un curseur. Déclarez le curseur sans cette instruction. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de FUNCTION Problème 5350 : La fonction ne peut pas utiliser les instructions qui débutent ou terminent explicitement ou implicitement une transaction, telles que START TRANSACTION, COMMIT ou ROLLBACK Corrigez votre code pour implémenter un contrôle de transaction côté application. Certains cas qui utilisent SAVEPOINT <nom>... ROLLBACK TO <nom> peuvent être convertis en BEGIN … EXCEPTION … END. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'INSERT Problème 5070 : PostgreSQL ne prend pas en charge l'instruction INSERT avec l'option ERROR LOG Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. Problème 5024 : PostgreSQL ne prend pas en charge l'instruction INSERT avec partition_extension_clause Procédez à une conversion manuelle pour les types de partition qui ne sont pas pris en charge. Problème 5071 : PostgreSQL ne prend pas en charge l'instruction INSERT pour une sous-requête Effectuez plutôt cette opération sur les tables sous-jacentes. Version 1.0 280 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problème 5090 : PostgreSQL ne prend pas en charge l'instruction INSERT pour une SUBPARTITION Insérez des données dans la partition sus-jacente ou procédez à une conversion manuelle à l'aide de l'instruction INSERT. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec MATERIALIZED VIEW Problème 5094 : PostgreSQL ne prend pas en charge VIEW matérialisée Modifiez votre code pour remplacer l'instruction CREATE MATERIALIZED VIEW par une autre solution. Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW matérialisée Modifiez votre code pour remplacer la vue matérialisée par une autre solution. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec MERGE Problème 5102 : PostgreSQL ne prend pas en charge l'instruction MERGE Pour obtenir l'effet d'une instruction MERGE, utilisez les instructions INSERT, DELETE et UPDATE distinctes. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec les indicateurs d'optimiseur Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s Utilisez les méthodes PostgreSQL d'optimisation des performances. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) Version 1.0 281 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec PACKAGES Problème 5330 : PostgreSQL ne prend pas en charge les curseurs globaux Utilisez une autre méthode pour cette fonctionnalité. Problème 5331 : PostgreSQL ne prend pas en charge une exception d'utilisateur globale Utilisez une autre méthode pour cette fonctionnalité. Problème 5569 : PostgreSQL prend uniquement en charge les variables de session en utilisant les types d'heure et de temps standard SQL Si votre code utilise des variables d'autres types, tels que les tableaux associatifs, les curseurs, les curseurs de référence ou les sous-types, vérifiez votre architecture avec une solution personnalisée pour remplacer ce type. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'erreur d'analyse (Parser Error) Problème 5293 : Impossible de résoudre l'objet Vérifiez si l'objet <nom d'objet> est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de PRAGMA Problème 5571 : PostgreSQL ne prend pas en charge les options PRAGMA Examinez l'exception utilisée et, si possible, convertissez-la en autre condition. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 282 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problèmes de conversion de SELECT Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO Incluez à la place tous les champs de votre table dans une clause INTO. Problème 5139 : PostgreSQL ne prend pas en charge FOR UPDATE SKIP LOCKED Essayez d'utiliser FOR UPDATE sans SKIP LOCKED. Problème 5144 : PostgreSQL ne prend pas en charge les clauses FOR UPDATE WAIT Essayez d'utiliser FOR UPDATE sans WAIT. Problème 5586 : Conversion automatique des requêtes assorties de la clause NOCYCLE non prise en charge Procédez à une conversion manuelle. Problème 5126 : PostgreSQL ne prend pas en charge l'instruction MODEL Corrigez votre code. Essayez plutôt d'utiliser des procédures utilisateur et des tables temporaires. Problème 5585 : Conversion automatique d'une jointure externe en requête de corrélation non prise en charge Procédez à une conversion manuelle. Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP Ces fonctions peuvent être émulées en utilisant des expressions CTE à la place. Les fonctionnalités GROUPING SETS, CUBE et ROLLUP sont disponibles dans PostgreSQL v.9.5 ou supérieur. Problème 5578 : Impossible de transformer automatiquement l'instruction SELECT L'instruction SELECT indiquée contient un langage qui ne peut pas être converti, par exemple une fonction non prise en charge. Essayez de réécrire l'instruction. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de SEQUENCE Problème 5574 : PostgreSQL ne prend pas en charge de l'état de la séquence Vérifiez que la séquence d'origine ne comporte pas d'erreurs et renouvelez la conversion. Version 1.0 283 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des instructions Problème 5335 : PostgreSQL ne prend pas en charge l'opérateur GOTO PostgreSQL ne prend pas en charge l'opérateur GOTO dans les procédures stockées. Essayez plutôt l'une des autres solutions suivantes : • définissez un indicateur et testez-le ; • déterminez à partir des résultats de la procédure si des mises à jour doivent être apportées et ajoutez-les après le retour des résultats ; • placez les mises à jour dans une autre procédure stockée et appelez-la dans vos instructions IF. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec Synonym Problème 5333 : Cet objet utilise un synonyme privé Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. Problème 5592 : Cet objet utilise un synonyme public qui fait référence à une table, à une vue ou à une fonction Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. Problème 5593 : Cet objet utilise un synonyme public qui ne fait pas référence à d'autres objets Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 284 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problèmes de conversion de packages système Problème 5503 : MySQL ne comporte pas de fonction similaire au module %s Essayez d'utiliser Amazon Simple Workflow (Amazon SWF). Pour plus d'informations, consultez la section Présentation d'Amazon Simple Workflow Service dans le manuel du développeur Amazon Simple Workflow Service. Problème 5502 : MySQL ne comporte pas de fonction similaire au module %s Essayez d'utiliser AWS Snowball. Pour plus d'informations, consultez la section Présentation d'AWS Snowball Problème 5501 : MySQL ne comporte pas de fonction similaire au module %s Essayez d'utiliser le service AWS Lambda avec les événements planifiés. Pour plus d'informations, consultez la section Présentation d'AWS Lambda Problème 5500 : MySQL ne comporte pas de fonction similaire au module %s Essayez d'utiliser Amazon Simple Queue Service (Amazon SQS). Pour plus d'informations, consultez la section Présentation d'Amazon Simple Queue Service Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec TRIGGERS Problème 5313 : PostgreSQL ne prend pas en charge la clause action-type Utilisez une autre méthode pour cette fonctionnalité. Problème 5415 : PostgreSQL ne prend pas en charge les déclencheurs système Corrigez votre code pour remplacer les déclencheurs système par une autre solution. Problème 5311 : PostgreSQL ne prend pas en charge les déclencheurs système Corrigez votre code pour remplacer les déclencheurs système par une autre solution. Problème 5242 : PostgreSQL ne prend pas en charge COMPOUND TRIGGER Créez un déclencheur unique pour chaque composant du déclencheur composé. Problème 5241 : PostgreSQL ne prend pas en charge la clause FOLLOWS | PRECEDES Essayez d'utiliser le déclencheur FOR EACH ROW. Problème 5240 : PostgreSQL ne prend pas en charge les déclencheurs dans les colonnes de table imbriquée figurant dans les vues Corrigez votre code pour remplacer la table imbriquée par une autre solution. Version 1.0 285 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problème 5238 : PostgreSQL ne prend pas en charge les clauses REFERENCING Modifiez les références aux pseudo-lignes pour utiliser à la place OLD et NEW. Problème 5317 : PostgreSQL ne prend pas en charge la clause de référencement PARENT Utilisez une autre méthode pour cette fonctionnalité. Problème 5306 : Transformation à partir d'un déclencheur non valide Vérifiez que le déclencheur d'origine ne comporte pas d'erreurs et renouvelez la conversion. Problème 5556 : PostgreSQL ne prend pas en charge les prédicats conditionnels Corrigez votre code et essayez plutôt d'utiliser des déclencheurs simples. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec TRUNCATE TABLE Problème 5298 : PostgreSQL ne prend pas en charge la clause DROP STORAGE dans l'instruction TRUNCATE Utilisez l'instruction TRUNCATE TABLE sans cette option. Problème 5300 : PostgreSQL ne prend pas en charge la clause PRESERVE dans l'instruction TRUNCATE Utilisez l'instruction TRUNCATE TABLE sans cette option. Problème 5301 : PostgreSQL ne prend pas en charge la clause PURGE dans l'instruction TRUNCATE Utilisez l'instruction TRUNCATE TABLE sans cette option. Problème 5299 : PostgreSQL ne prend pas en charge la clause REUSE STORAGE dans l'instruction TRUNCATE Utilisez l'instruction TRUNCATE TABLE sans cette option. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 286 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problèmes de conversion de UDT Problème 5577 : PostgreSQL ne prend pas en charge UDT avec corps Procédez à une conversion manuelle. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec des arguments de type de collection UDT Problème 5120 : PostgreSQL ne prend pas en charge les constructeurs du type « collection » Utilisez à la place le type « tableau ». Problème 5587 : PostgreSQL ne prend pas en charge la méthode EXTEND avec des paramètres Procédez à une conversion manuelle. Problème 5121 : PostgreSQL ne prend pas en charge l'instruction FORALL Utilisez à la place une instruction FOR LOOP. Problème 5118 : PostgreSQL ne prend pas en charge les variables de type de tableau Utilisez à la place le type « tableau ». Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec Universal Problème 5339 : L'objet %s n'est pas valide Vérifiez le code source d'origine pour assurer la validité de l'objet spécifié. Problème 5591 : Le synonyme %s est système Procédez à une conversion manuelle. Version 1.0 287 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion inconnus (Unknown) Problème 5025 : Cette conversion d'élément syntaxique n'est pas encore prise en charge Procédez à une conversion manuelle. Problème 5351 : La conversion automatique d'objet %s n'est pas prise en charge Procédez à une conversion manuelle. Question 5576 : SQL non analysé Procédez à une conversion manuelle. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'UPDATE Problème 5064 : PostgreSQL ne prend pas en charge l'instruction UPDATE avec l'option ERROR LOG Vous pouvez ajouter des enregistrements d'erreur en les insérant dans le journal du bloc d'exception. Itérez les erreurs dans le bloc d'exception, ajoutez-les au journal, puis utilisez la commande EXIT lorsque vous avez terminé. Problème 5558 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une PARTITION Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide de l'instruction UPDATE. Problème 5065 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une sous-requête Effectuez plutôt cette opération sur les tables sous-jacentes. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 288 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge de PostgreSQL vers MySQL Problèmes de conversion de VIEW Problème 5245 : PostgreSQL ne prend pas en charge les vues contenant des colonnes de table imbriquée Corrigez votre code pour remplacer la table imbriquée par une autre solution. Problème 5583 : PostgreSQL ne prend pas en charge les contraintes pour view Procédez à une conversion manuelle. Problème 5321 : PostgreSQL ne prend pas en charge l'objet view Procédez à une conversion manuelle. Problème 5077 : PostgreSQL ne prend pas en charge la clause PIVOT pour l'instruction SELECT Vous pouvez utiliser une procédure stockée pour préparer les données, puis retourner les données avec une vue. Problème 5320 : PostgreSQL ne prend pas en charge une vue associée à l'état non valide Procédez à une conversion manuelle. Problème 5322 : PostgreSQL ne prend pas en charge une vue typée Procédez à une conversion manuelle. Problème 5075 : PostgreSQL ne prend pas en charge VIEW avec l'option READ ONLY Créez plutôt la vue sans cette option. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 260) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Conversion de schéma prise en charge de PostgreSQL vers MySQL Les sections suivantes dressent la liste des éléments de schéma d'une base de données PostgreSQL et indique s'ils sont pris en charge dans le cadre d'une conversion automatique vers MySQL à l'aide d'AWS Schema Conversion Tool. Version 1.0 289 AWS Schema Conversion Tool Guide de l'utilisateur DDL DDL Instructions Tables Clause Conversion automatique ALTER TABLE Oui Colonnes incrémentées automatiquement Oui Colonnes avec valeurs par défaut Partielle CREATE TABLE Oui Contraintes reportables Partielle DROP TABLE Oui Expression en tant que valeur par défaut pour une colonne Partielle Détails Problème 6115 : MySQL ne prend pas en charge les expressions dans les contraintes DEFAULT et elles sont donc converties en un déclencheur BEFORE INSERT (p. 335) Problème 6111 : MySQL ne prend pas en charge les contraintes reportables (p. 335) Problème 6115 : MySQL ne prend pas en charge les expressions dans les contraintes DEFAULT et elles sont donc converties en un déclencheur BEFORE INSERT (p. 335) Problème 6117 : Impossible de conserver la contrainte NOT NULL pour la colonne %s lors de la conversion de sa contrainte DEFAULT basée sur une expression (p. 336) Clés étrangères Partielle Problème 6114 : MySQL ne prend pas en charge SET DEFAULT comme une action référentielle dans les clés étrangères (p. 335) Colonnes non null Partielle Problème 6117 : Impossible de conserver la contrainte NOT NULL pour la colonne %s lors de la conversion de sa contrainte DEFAULT basée sur une expression (p. 336) Clés primaires Oui Tables standard Oui Héritage de table Non Problème 6108 : MySQL ne prend pas en charge les tables héritées (p. 336) Tables avec contraintes de vérification Partielle Problème 6113 : MySQL ne prend pas en charge les contraintes de vérification ; la contrainte source est convertie en une augmentation d'erreur conditionnelle dans les déclencheurs (p. 335) Tables avec contraintes d'exclusion Partielle Problème 6112 : MySQL ne prend pas en charge les contraintes d'exclusion (p. 335) Version 1.0 290 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails Tables sans colonnes Non Problème 6109 : MySQL ne prend pas en charge les tables typées (p. 336) Désactivation de déclencheur Non Problème 6087 : MySQL ne prend pas en charge les déclencheurs de désactivation (p. 337) Tables typées Non Problème 6110 : MySQL ne prend pas en charge les tables sans colonnes (p. 336) Problème 6120 : MySQL ne prend pas en charge les types de données définis par l'utilisateur (p. 339) Clés uniques Oui Tables non journalisées Non Problème 6107 : MySQL ne prend pas en charge les tables non journalisées (p. 336) DML Fonctions SQL intégrées Agrégation Clause Conversion automatique Détails All Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails All Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails All Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Caractère Conversion Version 1.0 291 AWS Schema Conversion Tool Guide de l'utilisateur DML DateTime Clause Conversion automatique Détails All Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails All Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails All Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails All Non Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails All Non Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Clause Conversion automatique Détails [NATURAL ] [ INNER ] JOIN Oui [NATURAL ] {LEFT |RIGHT |FULL } [ OUTER ] JOIN Oui Numérique Autre Fenêtrage XML Jointures TRUNCATE TABLE Version 1.0 292 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique CROSS JOIN Oui USING ( join_column [, ...] ) Oui Détails Fonctions d'opérateurs et de date Opérateurs de chaîne de bits Clause Conversion automatique ||,&,|,#,~,<<,>>, Oui Détails Opérateurs Date/Heure Clause Conversion automatique Détails +,-,*,/ Partielle Problème 6660 : Impossible de convertir l'opération %s associée à la valeur d'intervalle en tant qu'un ou plusieurs arguments (p. 330) Problème 6661 : L'opération retourne le nombre de jours et non la valeur d'intervalle (p. 330) Opérateurs mathématiques Clause Conversion automatique +,-,*,/, %,^,|/,||/,!,!!,@,&,|,#,~,<<,>>, Oui Détails Opérateurs de chaîne Clause Conversion automatique || Oui Détails Prédicats Prédicat SIMILAR Clause Conversion automatique Détails SIMILAR Non Problème 6607 : N'a pas pu convertir le modèle en version MySQL ; vérifier manuellement le modèle (p. 331) Version 1.0 293 AWS Schema Conversion Tool Guide de l'utilisateur DML Conditions booléennes Clause Conversion automatique All Oui Détails Condition de comparaison Clause Conversion automatique '=, <>, <, <=, >, >= Oui ANY, SOME, ALL Oui Détails Conditions Exists Clause Conversion automatique EXISTS Oui Détails Conditions In Clause Conversion automatique IN Oui Détails Conditions Null Clause Conversion automatique NULL Oui Détails Conditions de correspondance de modèles Clause Conversion automatique All Oui Détails Conditions de plage Clause Conversion automatique All Oui Détails Version 1.0 294 AWS Schema Conversion Tool Guide de l'utilisateur DML Opérateurs d'ensembles Opérateurs et fonctions de recherche de texte Clause Conversion automatique EXCEPT Oui INTERSECT Oui UNION Oui Détails Instructions INSERT Clause Conversion automatique Détails INSERT INTO table DEFAULT VALUES; Oui INSERT INTO table query; Oui INSERT INTO table VALUES() RETURNING *; Non Problème 6172 : MySQL ne prend pas en charge l'instruction INSERT avec l'option RETURNING (p. 327) INSERT INTO table VALUES() RETURNING {output_expression [ AS output_name ] [, ...]}; Non Problème 6172 : MySQL ne prend pas en charge l'instruction INSERT avec l'option RETURNING (p. 327) INSERT INTO table VALUES(); Oui INSERT INTO table VALUES({ expression | DEFAULT } [, ...] ),VALUES({ expression | DEFAULT } [, ...] ) [, ...]; Oui INSERT INTO table VALUES({ expression | DEFAULT } [, ...] ); Oui INSERT INTO table(array) VALUES({'{' '}[,..]'}); Oui INSERT INTO table[( column [, ...] )] VALUES(); Oui WITH RECURSIVE with_query [, ...] UPDATE table_name SET { column_name = Non Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE (p. 332) Version 1.0 295 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails { expression | DEFAULT }} [, ...] WITH with_query [, ...] UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] Oui SELECT Clause Conversion automatique Opérateur d'addition ou de soustraction Oui EXCEPT [ALL] Partielle Détails Problème 6612 : La requête assortie de l'opérateur INTERSECT/EXCEPT ALL a été transformée (p. 328) FROM [ONLY] tablename [*] Non FROM { with_query_name | function_name()} Non Problème 6603 : Impossible d'utiliser la fonction d'une clause from (p. 326) FROM {(subquery) [ AS ] Oui alias |(VALUES({ expression | DEFAULT } [, ...])) [ AS ] alias } FROM tablename [ [ AS ] alias ] Oui GROUP BY Oui HAVING Oui INTERSECT [ALL] Partielle Problème 6612 : La requête assortie de l'opérateur INTERSECT/EXCEPT ALL a été transformée (p. 328) LIMIT { count | ALL } OFFSET start { ROW | ROWS } Partielle Problème 6611 : L'option LIMIT/OFFSET a été omise (p. 329) OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY Partielle Problème 6611 : L'option LIMIT/OFFSET a été omise (p. 329) ORDER BY [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] Oui SELECT {* | expression [ [ AS ] output_name ] [, ...]} FROM table Oui Version 1.0 296 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique SELECT {expression [ [ AS ] output_name ] [, ...]} Oui SELECT ALL Oui SELECT DISTINCT Oui SELECT DISTINCT ON Non UNION [ALL] Oui Détails WHERE (field_name1, Oui …,fieldnameN) IN (subquery_with_multiple_fields) WHERE Oui comparison_condition (=;<>;! =;<;>;>=;<=;ANY;SOME;ALL) WHERE Oui compound_condition_with_or_and_not WHERE field_name BETWEEN arg1 AND arg2 Oui WHERE field_name IN (const1,...,constN) Oui WHERE field_name IN (subquery) Oui WHERE like_condition (operator LIKE) Oui WITH RECURSIVE with_query [, ...] Non WITH with_query [, ...] Oui Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE (p. 332) WINDOW DEFINITION DELETE Clause Conversion automatique Détails DELETE FROM table_name WHERE CURRENT OF cursor_name Non Problème 6672 : MySQL ne prend pas en charge la suppression par curseur (p. 324) DELETE FROM table_name FROM from_list WHERE condition Oui Version 1.0 297 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails DELETE FROM table_name RETURNING {output_expression [ AS output_name ] [, ...]} Non Problème 6069 : MySQL ne prend pas en charge l'instruction DELETE avec l'option RETURNING (p. 324) DELETE FROM table_name RETURNING * Non Problème 6069 : MySQL ne prend pas en charge l'instruction DELETE avec l'option RETURNING (p. 324) DELETE FROM table_name WHERE condition Oui DELETE FROM ONLY table [ [ AS ] alias ] Non DELETE FROM table [ [ AS ] alias ] Oui DELETE FROM table * [ [ AS ] alias ] Non Problème 6603 : Impossible d'utiliser la fonction d'une clause from (p. 326) Clause Conversion automatique Détails [ existing_window_name ] [ PARTITION BY expression [, ...] ] [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ] [ frame_clause ] Non Problème 6678 : MySQL ne prend pas en charge la fonction %s avec la clause OVER/ORDER BY/WITHIN GROUP/FILTER (p. 320) Clause Conversion automatique Détails UPDATE ONLY table_name SET { column_name = { expression | DEFAULT }} [, ...] Non UPDATE table_name * SET { column_name = { expression | DEFAULT }} [, ...] Non UPDATE table_name [ [ AS ] alias ] SET { column_name = { expression | DEFAULT }} [, ...] Oui SELECT UPDATE Version 1.0 298 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion automatique Détails UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] Oui UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] WHERE CURRENT OF cursor_name Non Problème 6672 : MySQL ne prend pas en charge la suppression par curseur (p. 324) UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] FROM from_list WHERE condition Partielle Problème 6669 : La clause FROM a été réécrite (p. 340) UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] RETURNING {output_expression [ AS output_name ] [, ...]} Non Problème 6066 : MySQL ne prend pas en charge l'instruction UPDATE avec l'option RETURNING (p. 340) UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] RETURNING * Non Problème 6066 : MySQL ne prend pas en charge l'instruction UPDATE avec l'option RETURNING (p. 340) UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] WHERE condition Oui UPDATE table_name SET {( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...] Oui UPDATE table_name SET {( column_name [, ...] ) = ( query ) } Oui WITH RECURSIVE with_query [, ...] UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] Non WITH with_query [, ...] UPDATE table_name SET { column_name = { expression | DEFAULT }} [, ...] Oui Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE (p. 332) Version 1.0 299 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL PL/pgSQL Instructions de base Affectation Clause Conversion automatique Détails Affectation de variable Partielle Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD (p. 331) Exécution d'une commande sans aucun résultat Clause Conversion automatique PERFORM Oui Détails Exécution d'une requête avec une seule ligne de résultat Clause Conversion automatique Détails INTO Non Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD (p. 331) Exécution de commandes dynamiques Clause Conversion automatique Détails EXECUTE, INTO, STRICT, USING Non Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique RETURN QUERY EXECUTE (p. 324) Catégorie Structure simple de PL/pgSQL Clause Conversion automatique DECLARE, BEGIN, END Oui Détails Version 1.0 300 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Conditions IF-THEN Clause Conversion automatique IF, THEN, END IF Oui Détails IF-THEN-ELSE Clause Conversion automatique IF, THEN, ELSE, END IF Oui Détails IF-THEN-ELSIF Clause Conversion automatique IF, THEN, ELSE, ELSIF, END IF Oui Détails CASE élaboré Clause Conversion automatique CASE,WHEN, THEN, ELSE, END CASE Oui Détails CASE simple Clause Conversion automatique CASE,WHEN, THEN, ELSE, END CASE Oui Détails Curseurs CLOSE Clause Conversion automatique CLOSE Oui Détails Version 1.0 301 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Déclaration de variables Cursor Clause Conversion automatique Détails NO, SCROLL, CURSOR, FOR Non Problème 6337 : MySQL ne prend pas en charge une variable de type REFCURSOR (p. 322) Clause Conversion automatique Détails FETCH [ direction { FROM | IN } ] cursor INTO target; Partielle Problème 6639 : MySQL ne prend pas en charge la clause de direction (p. 322) Clause Conversion automatique Détails MOVE [ direction { FROM | IN } ] cursor; Non Problème 6640 : MySQL ne prend pas en charge l'option MOVE. (p. 322) Clause Conversion automatique Détails OPEN, NO, SCROLL, FOR, EXECUTE, USING Non Problème 6337 : MySQL ne prend pas en charge une variable de type REFCURSOR (p. 322) Clause Conversion automatique Détails OPEN, NO, SCROLL, FOR Non Problème 6638 : MySQL ne prend en charge l'option SCROLL dans les curseurs (p. 322) FETCH MOVE OPEN FOR EXECUTE Requête OPEN FOR Ouverture d'un curseur lié Clause Conversion automatique OPEN bound_cursorvar [ ( [ argument_name := ] argument_value [, ...] ) ]; Oui Détails Version 1.0 302 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Déclarations ALIAS Clause Conversion automatique ALIAS FOR Oui Détails Classement de variables PL/pgSQL Clause Conversion automatique Détails COLLATE Non Problème 6343 : MySQL ne prend pas en charge l'option COLLATE ; la conversion automatique ne peut pas être effectuée (p. 333) Clause Conversion automatique Détails %TYPE, %ROWTYPE Oui Copie de types Déclaration de paramètres de fonction Clause Conversion automatique Déclaration de paramètres de fonction Oui Détails Types d'enregistrement Clause Conversion automatique Détails Types d'enregistrement Oui Problème 6613 : Impossible de convertir une fonction sans paramètres OUT retournant un type RECORD (p. 326) Clause Conversion automatique Détails Déclaration de variable Oui Déclaration de variable Version 1.0 303 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Erreurs et messages CLOSE Clause Conversion automatique Détails RAISE ; Non Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 325) RAISE [ level ] condition_name [ USING option = expression [, ... ] ]; Non Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 325) RAISE [ level ] 'format' [, expression [, ... ]] [ USING option = expression [, ... ] ]; Partielle Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport (p. 329) RAISE [ level ] SQLSTATE 'sqlstate' [ USING option = expression [, ... ] ]; Non Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 325) RAISE [ level ] USING option = expression [, ... ]; Partielle Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport (p. 329) Obtention de l'état de résultat Clause Conversion automatique Détails GET [ CURRENT ] DIAGNOSTICS variable = item [ , ... ]; Non Problème 6665 : MySQL ne prend pas en charge la commande GET [CURRENT] DIAGNOSTICS (p. 325) Clause Conversion automatique Détails EXCEPTION WHEN condition [ OR condition ... ] THEN handler_statements [..] END; Partielle Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) MESSAGE, DETAIL, HINT, ERRCODE, Non Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport (p. 329) Options Paramètres d'état de résultat Clause Conversion automatique COLUMN_NAME Oui Détails Version 1.0 304 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Clause Conversion automatique Détails CONSTRAINT_NAME Oui MESSAGE_TEXT Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) PG_DATATYPE_NAME Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) PG_EXCEPTION_CONTEXT Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) PG_EXCEPTION_DETAIL Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) PG_EXCEPTION_HINT Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) RETURNED_SQLSTATE Oui SCHEMA_NAME Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) TABLE_NAME Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 325) Clause Conversion automatique Détails CONTINUE, WHEN Oui Boucles CONTINUE EXIT Clause Conversion automatique EXIT, WHEN Oui Détails FOR (Integer Variant) Clause Conversion automatique FOR, IN, LOOP, END LOOP, REVERSE, BY Oui Détails Version 1.0 305 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL LOOP Clause Conversion automatique LOOP, END LOOP Oui Détails Boucle dans les tableaux Clause Conversion automatique Détails FOREACH, IN, LOOP, END LOOP, SLICE, IN ARRAY Non Problème 6608 : MySQL ne prend pas en charge les tableaux (p. 321) Boucle dans les résultats de requête Clause Conversion automatique FOR, IN, LOOP, END LOOP, EXECUTE, USING Oui Détails WHILE Clause Conversion automatique WHILE, LOOP, END LOOP Oui Détails Instruction RETURN Commande NULL; Clause Conversion automatique RETURN Oui RETURN NEXT Non RETURN QUERY Oui RETURN QUERY EXECUTE Non Détails Problème 6604 : MySQL ne prend pas en charge la clause RETURN NEXT (p. 326) Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique RETURN QUERY EXECUTE (p. 324) Version 1.0 306 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Informations de référence sur la conversion de PostgreSQL vers MySQL FONCTION D'AGREGATION Elément Problème Résolution bit_and, bit_or Problème 6680 : Vérifiez le fonctionnement de la fonction avec des valeurs null (p. 320) Procédez à une conversion manuelle. OVER/ORDER BY/ WITHIN GROUP/ FILTER Problème 6678 : MySQL ne prend pas en charge la fonction %s avec la clause OVER/ORDER BY/WITHIN GROUP/ FILTER (p. 320) Procédez à une conversion manuelle. Elément Problème Résolution ALTER Problème 6676 : La conversion automatique de l'instruction ALTER n'est pas prise en charge (p. 320) Procédez à une conversion manuelle. ALTER Opérateurs arithmétiques Elément Problème Résolution Opérateurs arithmétiques et type string Problème 6681 : Impossible d'effectuer une migration automatique des opérations arithmétiques avec les types string et other (p. 321) Convertissez les opérandes dans le type attendu. Elément Problème Résolution ARRAY Problème 6608 : MySQL ne prend pas en charge les tableaux (p. 321) Procédez à une conversion manuelle. ARRAY Fonction intégrée Elément Problème Résolution DateTime Problème 6677 : MySQL ne prend pas en charge le fuseau horaire (p. 321) Procédez à une conversion manuelle. Version 1.0 307 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL BUILT-IN SQL FUNCTIONS Elément Problème Résolution BUILT-IN SQL FUNCTIONS Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 321) Créez une fonction définie par l'utilisateur. Elément Problème Résolution CREATE Problème 6094 : Impossible de convertir l'objet en raison de la non création de %s (p. 322) Examinez l'objet %s. Elément Problème Résolution CURSOR avec clause NEXT, PRIOR, FIRST, LAST, ABSOLUTE, RELATIVE, FORWARD ou BACKWARD Problème 6639 : MySQL ne prend pas en charge la clause de direction (p. 322) Procédez à une conversion manuelle. CURSOR avec l'option MOVE Problème 6640 : MySQL ne prend pas en charge l'option MOVE. (p. 322) Procédez à une conversion manuelle. CURSOR avec les options SCROLL ou NO SCROLL Problème 6638 : MySQL ne prend en charge l'option SCROLL dans les curseurs (p. 322) Modifiez votre code pour éliminer les curseurs avec l'option SCROLL. REFCURSOR Problème 6337 : MySQL ne prend pas en charge une variable de type REFCURSOR (p. 322) Essayez d'utiliser des tables temporaires. CREATE CURSOR Bases de données Elément Problème Résolution ALTER DATABASE Problème 6101 : MySQL ne prend pas en charge cette clause dans une instruction ALTER DATABASE (p. 323) Procédez à une conversion manuelle. CREATE DATABASE, DROP DATABASE Problème 6100 : La migration de base de données à base de données n'est pas proposée (p. 323) Utilisez le plan de migration de schéma à base de données. Version 1.0 308 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL TYPES DE DONNEES Elément Problème Résolution CAST( ... AS BIT | BIT VARYING | VARBIT | DECIMAL | NUMERIC | REAL | FLOAT4 | DOUBLE PRECISION | FLOAT8 | CHARACTER | CHAR | CHARACTER VARYING | TEXT | TIME WITH TIME ZONE | TIME(p) WITH TIME ZONE | TIMESTAMP WITH TIME ZONE | TIMESTAMP(p) WITH TIME ) Problème 6673 : MySQL ne prend pas en charge le type %s dans la fonction CAST, et une perte de précision ou d'exactitude des données est possible (p. 323) Vérifiez si les données enfreignent ces restrictions. Si c'est le cas, effectuez une migration manuelle. CAST( ... AS BOX | POINT | LINE | LSEG | PATH | POLYGON | CIRCLE | TXID_SNAPSHOT) Problème 6674 : MySQL ne prend pas en charge le type %s dans la fonction CAST (p. 323) Vérifiez si les données enfreignent ces restrictions. Si c'est le cas, effectuez une migration manuelle. Elément Problème Résolution RETURNING Problème 6069 : MySQL ne prend pas en charge l'instruction DELETE avec l'option RETURNING (p. 324) Pour effectuer cette opération, divisez l'instruction DELETE associée à la clause RETURNING en instruction DELETE avec les instructions INSERT suivantes, et utilisez les mêmes conditions de clé dans chaque SELECT. WHERE CURRENT OF Problème 6672 : MySQL ne prend pas en charge la suppression par curseur (p. 324) Procédez à une conversion manuelle. Elément Problème Résolution CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN Problème 6050 : MySQL ne prend pas en charge les domaines (p. 324) Procédez à une conversion manuelle. DELETE Domaines Version 1.0 309 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL DYNAMIC SQL Elément Problème Résolution RETURN QUERY EXECUTE Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique RETURN QUERY EXECUTE (p. 324) Examinez et modifiez la chaîne d'exécution. Gestion des erreurs Elément Problème Résolution GET [CURRENT] DIAGNOSTICS ... PG_ CONTEXT Problème 6665 : MySQL ne prend pas en charge la commande GET [CURRENT] DIAGNOSTICS (p. 325) Procédez à une conversion manuelle. GET STACKED Problème 6664 : MySQL ne prend pas DIAGNOSTICS en charge les informations de condition PG_DATATYPE_NAME| %s (p. 325) TABLE_NAME| SCHEMA_NAME| PG_EXCEPTION_DETAIL| PG_EXCEPTION_HINT| PG_EXCEPTION_CONTEXT Procédez à une conversion manuelle. RAISE [exception] Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 325) Examinez l'exception RAISE utilisée et, si possible, convertissez-la en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. Elément Problème Résolution EXCEPTIONS Problème 6342 : MySQL ne prend pas en charge le nom de condition %s (p. 325) Examinez l'exception utilisée et, si possible, convertissezla en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. Elément Problème Résolution FROM Problème 6603 : Impossible d'utiliser la fonction d'une clause from (p. 326) Procédez à une conversion manuelle. QUERY Problème 6682 : Impossible d'utiliser la fonction table-value dans la clause from (p. 326) MySQL ne prend pas en charge la fonction table-value. EXCEPTIONS FROM Version 1.0 310 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL FONCTION Elément Problème Résolution langage Problème 6675 : La fonction de conversion automatique sur la langue %s n'est pas prise en charge (p. 326) Procédez à une conversion manuelle. RECORD Problème 6613 : Impossible de convertir une fonction sans paramètres OUT retournant un type RECORD (p. 326) Procédez à une conversion manuelle. Elément Problème Résolution RETURN NEXT Problème 6604 : MySQL ne prend pas en charge la clause RETURN NEXT (p. 326) Procédez à une conversion manuelle. VARIADIC Problème 6605 : MySQL ne prend pas en charge le mode VARIADIC d'un argument (p. 326) Procédez à une conversion manuelle. Elément Problème Résolution CREATE INDEX : méthodes GiST, SPGiST, Gin Problème 6091 : MySQL ne prend pas en charge la méthode d'index %s (p. 327) Procédez à une conversion manuelle. Index basés sur des expressions Problème 6090 : MySQL ne prend pas en charge les index sur les expressions (p. 327) Procédez à une conversion manuelle. Index ordonnés Problème 6092 : MySQL ne prend pas en charge l'ordre de tri explicite dans la définition d'index (p. 327) Si l'ordre de tri par défaut (croissant) de l'index risque d'entraîner une dégradation des performances, procédez à une conversion manuelle ou réécrivez les instructions censées l'utiliser. Index partiels Problème 6093 : MySQL ne prend pas en charge les index partiels (p. 327) Si l'index complet risque d'entraîner une dégradation des performances, procédez à une conversion manuelle. Elément Problème Résolution RETURNING Problème 6172 : MySQL ne prend pas en charge l'instruction INSERT avec l'option RETURNING (p. 327) Pour effectuer cette opération, divisez l'instruction INSERT associée à la clause Fonctions Index INSERT Version 1.0 311 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Elément Problème Résolution RETURNING en instruction INSERT avec les instructions SELECT suivantes, et utilisez les mêmes conditions de clé dans chaque SELECT. Vous pouvez également utiliser la dernière valeur générée par la colonne AUTO_INCREMENT dans la condition de clé. INTERSECT, EXCEPT Elément Problème Résolution INTERSECT, EXCEPT Problème 6612 : La requête assortie de l'opérateur INTERSECT/EXCEPT ALL a été transformée (p. 328) Procédez à une conversion manuelle. Elément Problème Résolution LABEL Problème 6344 : MySQL ne prend pas en charge les variables avec étiquettes (p. 328) Essayez de réécrire les variables sans utiliser d'étiquettes (labels). Elément Problème Résolution LIMIT, OFFSET Problème 6611 : L'option LIMIT/OFFSET a été omise (p. 329) Procédez à une conversion manuelle. LABEL LIMIT Vues matérialisées Elément Problème Résolution CREATE MATERIALIZED VIEW Problème 6130 : MySQL ne prend pas en charge les vues matérialisées ; la vue matérialisée source est convertie en une table avec des déclencheurs (p. 329) Si cette approche de migration ne convient pas pour une raison quelconque, procédez à une conversion manuelle. Message des routines stockées Elément Problème Résolution RAISE DEBUG| LOG|INFO|NOTICE| WARNING Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport (p. 329) Essayez d'utiliser INSERT dans la table de journal. Pour ce faire, vous devez Version 1.0 312 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Elément Problème Résolution ajouter du code dans AWS_POSTGRESQL_EXT.RAISE_DEBUG, AWS_POSTGRESQL_EXT.RAISE_LOG, AWS_POSTGRESQL_EXT.RAISE_INFO, AWS_POSTGRESQL_EXT.RAISE_NOTICE et AWS_POSTGRESQL_EXT.RAISE_WARNING Fonctions d'opérateurs et de date Elément Problème Résolution Opérateurs Date/ Heure Problème 6660 : Impossible de convertir l'opération %s associée à la valeur d'intervalle en tant qu'un ou plusieurs arguments (p. 330) Procédez à une conversion manuelle. Opérateurs Date/ Heure Problème 6661 : L'opération retourne le nombre de jours et non la valeur d'intervalle (p. 330) Vérifiez si le type obtenu correspond à vos besoins. Si ce n'est pas le cas, procédez à une conversion manuelle. Opérateurs Date/ Heure Problème 6662 : Format non pris en charge pour la valeur d'intervalle (p. 330) Actuellement, le seul format pris en charge est un format ANSI SQL pour les littéraux de type interval. Procédez à une conversion manuelle. Elément Problème Résolution NULLS FIRST|LAST Problème 6610 : Une transformation nulls first/ last a été effectuée (p. 330) Procédez à une conversion manuelle. USING Problème 6609 : L'option ORDER a été omise, car MySQL ne prend pas en charge le mot clé USING dans la clause order by (p. 331) Procédez à une conversion manuelle. Elément Problème Résolution Parser Error Problème 6663 : Impossible de résoudre l'objet (p. 331) Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. ORDER BY Parser Error Version 1.0 313 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Modèles Elément Problème Résolution SIMILAR TO Problème 6607 : N'a pas pu convertir le modèle en version MySQL ; vérifier manuellement le modèle (p. 331) Procédez à une conversion manuelle. Type ROW/RECORD Elément Problème Résolution ROW() Problème 6606 : MySQL ne prend pas en charge de fonction ROW() avec n'importe quel, certains ou tous les prédicats (p. 331) Procédez à une conversion manuelle. ROW/RECORD Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD (p. 331) Procédez à une conversion manuelle. Problème Résolution Select Elément DISTINCT ON Procédez à une conversion manuelle. ONLY | * Procédez à une conversion manuelle. DateTime Problème 6679 : Valeur non fixe dans la transaction de départ (p. 332) Examinez votre code et, si nécessaire, utilisez une variable locale Elément Problème Résolution SELECT INTO Problème 6666 : Une transformation du mode non strict en clause a été effectuée (p. 332) Procédez à une conversion manuelle. SELECT INTO SELECT, UPDATE, INSERT, DELETE Elément Problème Résolution WITH Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE (p. 332) Utilisez une procédure stockée pour préparer les données ou réécrivez votre requête pour éviter la clause WITH. Version 1.0 314 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Séquences Elément Problème Résolution CREATE SEQUENCE, ALTER SEQUENCE, DROP SEQUENCE Problème 6060 : MySQL ne prend pas en charge les séquences (p. 332) Procédez à une conversion manuelle. Elément Problème Résolution COLLATION Problème 6343 : MySQL ne prend pas en charge l'option COLLATE ; la conversion automatique ne peut pas être effectuée (p. 333) Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la création de la base de données. Fonctions SQL Colonnes de table Elément Problème Résolution Types de données d'application : CIDR, INET, MACADDR, UUID, XML, JSON, JSONB, TSVECTOR, TSQUERY Problème 6006 : MySQL ne prend pas en charge le type %s (p. 333) Vérifiez le type de données cible et corrigez-le s'il ne convient pas. ARRAY Problème 6008 : MySQL ne prend pas en charge les types de tableau pour la définition de colonne du tableau (p. 333) Procédez à une conversion manuelle. CIRCLE Problème 6011 : MySQL ne prend pas en charge CIRCLE en tant que type spatial ; les résultats approximatifs de la fonction BUFFER du type de données POLYGON est utilisé pour effectuer une conversion (p. 333) Si la représentation approximative ne convient pas pour une raison quelconque, procédez à une conversion manuelle. Types DECIMAL Problème 6002 : MySQL ne prend pas en charge %s avec une précision de plus de 65 chiffres et une échelle à plus de 30 chiffres ; la perte de précision ou l'exactitude des données est possible (p. 333) Vérifiez si les données enfreignent ces restrictions. Si c'est le cas, effectuez une migration manuelle. INTERVAL Problème 6005 : MySQL ne prend pas en charge le type INTERVAL (p. 333) Procédez à une conversion manuelle. LINE Problème 6010 : MySQL ne prend pas en charge les lignes infinies ; un LINESTRING avec deux points sur la ligne est utilisé pour la conversion (p. 334) Si la représentation à deux points ne convient pas pour une raison quelconque, procédez à une conversion manuelle. Version 1.0 315 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Elément Problème Résolution Types de plage Problème 6009 : MySQL ne prend pas en charge les types de plage (p. 334) Procédez à une conversion manuelle. Types Serial : BIGSERIAL / SERIAL8 / SERIAL / SERIAL4 / SMALLSERIAL / SERIAL2 Problème 6001 : Incapacité de fournir une migration complète pour l'incrémentation automatique des colonnes du tableau (p. 334) MySQL prend en charge une seule colonne à incrémentation automatique par table et elle doit correspondre à une clé. Décidez si la colonne doit ou non être une clé incrémentée automatiquement. Si c'est le cas, modifiez-la manuellement. TIME WITH TIME ZONE Problème 6003 : MySQL ne prend pas en charge les informations de fuseau horaire pour le type de %s (p. 334) Procédez à une conversion manuelle. Horodatages avec fuseau horaire Problème 6004 : MySQL ne prend pas en charge les informations de fuseau horaire pour le type de %s (p. 334) Procédez à une conversion manuelle. Si les informations de fuseau horaire ne sont pas renseignées, vous pouvez choisir DATETIME(6) comme type de données cible. Sinon, essayez de convertir les données en TIMESTAMP(6), en tenant compte de la valeur du paramètre de serveur time_zone. Colonnes de table, arguments de fonction, variables locales Elément Problème Résolution Chaînes de bits Problème 6012 : Les chaînes de bits converties sont remplies à droite de bits de valeur zéro sur la longueur d'un octet complet (p. 334) Si la représentation approximative ne convient pas pour une raison quelconque, procédez à une conversion manuelle. Elément Problème Résolution Contraintes Problème 6111 : MySQL ne prend pas en charge les contraintes reportables (p. 335) Vérifiez votre schéma et assurez-vous que les contraintes non reportables peuvent offrir le niveau d'intégrité nécessaire. Dans le cas contraire, procédez à une conversion manuelle au niveau des contraintes. Tables Version 1.0 316 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Elément Problème Résolution Contraintes Problème 6112 : MySQL ne prend pas en charge les contraintes d'exclusion (p. 335) Procédez à une conversion manuelle de la contrainte d'exclusion pour offrir le même niveau d'intégrité des données. Contraintes Problème 6113 : MySQL ne prend pas en charge les contraintes de vérification ; la contrainte source est convertie en une augmentation d'erreur conditionnelle dans les déclencheurs (p. 335) Si l'approche concernant les déclencheurs ne convient pas, procédez à une conversion manuelle de la contrainte de vérification pour offrir le même niveau d'intégrité des données. Contraintes Problème 6114 : MySQL ne prend pas en charge SET DEFAULT comme une action référentielle dans les clés étrangères (p. 335) Vérifiez que SET NULL est une action référentielle appropriée. Autrement, procédez à une conversion manuelle de la contrainte. Contraintes Problème 6115 : MySQL ne prend pas en charge les expressions dans les contraintes DEFAULT et elles sont donc converties en un déclencheur BEFORE INSERT (p. 335) Pour l'heure, les valeurs NULL insérées explicitement ne se distinguent pas de celles spécialement omises pour utiliser les valeurs par défaut. De même, la mise à jour des valeurs en DEFAULT n'est pas prise en charge à l'heure actuelle. Si vous avez besoin de cette fonctionnalité, procédez à une conversion manuelle. Contraintes Problème 6117 : Impossible de conserver la contrainte NOT NULL pour la colonne %s lors de la conversion de sa contrainte DEFAULT basée sur une expression (p. 336) En raison de la transformation de la contrainte DEFAULT basée sur une expression en partie de déclencheur, la contrainte NOT NULL est convertie en autre partie du même déclencheur. Tables sans colonnes Problème 6110 : MySQL ne prend pas en charge les tables sans colonnes (p. 336) Procédez à une conversion manuelle. Tables typées Problème 6107 : MySQL ne prend pas en charge les tables non journalisées (p. 336) Si une table standard ne convient pas, procédez à une conversion manuelle. Tables typées Problème 6108 : MySQL ne prend pas en charge les tables héritées (p. 336) Procédez à une conversion manuelle. Tables typées Problème 6109 : MySQL ne prend pas en charge les tables typées (p. 336) Procédez à une conversion manuelle. Version 1.0 317 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Déclencheurs Elément Problème Résolution Déclencheurs conditionnels Problème 6083 : MySQL ne prend pas en charge les déclencheurs conditionnels qui interviennent sur les mises à jour de colonnes particulières ; une conversion ignorera une telle condition (p. 337) Si un déclencheur obtenu doit s'activer pour des mises à jour qui concernent uniquement la ou les colonnes particulières, procédez à une conversion manuelle. Déclencheurs de contrainte Problème 6082 : MySQL ne prend pas en charge les déclencheurs de contrainte (p. 337) Procédez à une conversion manuelle. Déclencheurs désactivés Problème 6087 : MySQL ne prend pas en charge les déclencheurs de désactivation (p. 337) Procédez à une conversion manuelle. DROP TRIGGER Problème 6086 : Impossible de transformer automatiquement l'abandon d'un déclencheur (p. 337) Procédez à une conversion manuelle. Déclencheurs Instead- Problème 6084 : MySQL ne prend pas of en charge les déclencheurs INSTEAD OF (p. 337) Procédez à une conversion manuelle. Plusieurs déclencheurs sur un même événement Problème 6085 : MySQL ne prend pas en charge plusieurs déclencheurs sur le même événement ; les déclencheurs sont fusionnés en un dans l'ordre alphabétique par nom de déclencheur (p. 337) Si le résultat d'une fusion n'est pas approprié, procédez à une conversion manuelle. Un déclencheur sur plusieurs événements Problème 6081 : MySQL ne prend pas en charge les déclencheurs intervenant sur plusieurs événements ; un tel déclencheur est converti en plusieurs déclencheurs ponctuels avec le même corps (p. 338) Si cette approche de migration ne convient pas pour le déclencheur, procédez à une conversion manuelle. Déclencheurs au niveau de l'instruction Problème 6080 : MySQL ne prend pas en charge les déclencheurs au niveau de l'instruction (p. 339) Procédez à une conversion manuelle. Fonctions de déclencheur Problème 6650 : Impossible de convertir l'instruction avec TG_ARGV automatiquement (p. 339) Procédez à une conversion manuelle. Fonctions de déclencheur Problème 6651 : Non prises en charge en utilisant l'instruction RETURN dans le déclencheur convertie en instruction LEAVE (p. 339) Vérifiez le flux d'exécution et procédez à une conversion manuelle si nécessaire. Fonctions de déclencheur Problème 6652 : MySQL ne prend pas en charge d'enregistrement OLD dans les déclencheurs sur des enregistrements INSERT ou NEW dans les déclencheurs sur DELETE (p. 339) Vérifiez si l'utilisation d'une valeur NULL à la place d'un champ de l'enregistrement non pris en charge est appropriée. Version 1.0 318 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Elément Problème Résolution Déclencheur sur un événement TRUNCATE Problème 6088 : MySQL ne prend pas en charge l'événement TRUNCATE pour les déclencheurs (p. 339) Procédez à une conversion manuelle. Elément Problème Résolution CREATE TYPE, ALTER TYPE, DROP TYPE Problème 6120 : MySQL ne prend pas en charge les types de données définis par l'utilisateur (p. 339) Procédez à une conversion manuelle. UDT Unknown (inconnu) Elément Problème Résolution Unknown (inconnu) Problème 6013 : Cette conversion d'élément syntaxique n'est pas encore prise en charge (p. 340) Procédez à une conversion manuelle. Elément Problème Résolution FROM Problème 6669 : La clause FROM a été réécrite (p. 340) Procédez à une conversion manuelle. RETURNING Problème 6066 : MySQL ne prend pas en charge l'instruction UPDATE avec l'option RETURNING (p. 340) Pour effectuer cette opération, divisez l'instruction UPDATE associée à la clause RETURNING en instruction UPDATE avec les instructions INSERT dont les conditions de clé spécifiées figurent dans la partie SELECT. WHERE CURRENT OF Problème 6670 : MySQL ne prend pas en charge la mise à jour par curseur (p. 340) Procédez à une conversion manuelle. UPDATE Fonctions d'agrégation définies par l'utilisateur Elément Problème Résolution CREATE AGGREGATE, ALTER AGREGGATE, DROP AGREGGATE Problème 6140 : Impossible de convertir les instructions d'agrégation définies par l'utilisateur (p. 341) Procédez à une conversion manuelle. Version 1.0 319 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL VIEW Elément Problème Résolution QUERY Problème 6076 : L'instruction SELECT ne peut pas contenir de sous-requête dans la clause FROM (p. 341) Réécrivez la requête view sans sous-requête ou créez une table auxiliaire pour la sous-requête. Problème Résolution Vues Elément Valeurs par défaut des Problème 6072 : MySQL ne prend pas en Si la même fonctionnalité est colonnes de la vue charge les valeurs par défaut pour les colonnes nécessaire, procédez à une de la vue (p. 341) conversion manuelle. Vues sécurisées au niveau des lignes Problème 6071 : MySQL ne prend pas en charge la sécurité au niveau des lignes (p. 342) Si la même fonctionnalité est nécessaire, procédez à une conversion manuelle. Vues temporaires Problème 6070 : MySQL ne prend pas en charge les vues temporaires ou les vues sur les tables temporaires (p. 342) Procédez à une conversion manuelle. Problèmes de conversion d'AGGREGATE FUNCTION Problème 6680 : Vérifiez le fonctionnement de la fonction avec des valeurs null Procédez à une conversion manuelle. Problème 6678 : MySQL ne prend pas en charge la fonction %s avec la clause OVER/ORDER BY/WITHIN GROUP/FILTER Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'ALTER Problème 6676 : La conversion automatique de l'instruction ALTER n'est pas prise en charge Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) Version 1.0 320 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des opérateurs arithmétiques Problème 6681 : Impossible d'effectuer une migration automatique des opérations arithmétiques avec les types string et other Les opérations arithmétiques qui utilisent un type string comme opérande ne peuvent pas être converties automatiquement. Modifiez le code pour convertir les valeurs dans le type voulu. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'ARRAY Problème 6608 : MySQL ne prend pas en charge les tableaux Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec fonction intégrée Problème 6677 : MySQL ne prend pas en charge le fuseau horaire Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec BUILT-IN SQL FUNCTIONS Problème 6667 : MySQL ne prend pas en charge la fonction %s Créez à la place une fonction définie par l'utilisateur. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) Version 1.0 321 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CREATE Problème 6094 : Impossible de convertir l'objet en raison de la non création de %s Examinez l'objet %s. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de CURSOR Problème 6639 : MySQL ne prend pas en charge la clause de direction MySQL ne prend pas en charge les clauses de direction suivantes lorsque vous utilisez FETCH avec les curseurs : • ABSOLUTE 2 • BACKWARD • FIRST FROM • FORWARD • LAST FROM • PRIOR FROM • RELATIVE 2 • RELATIVE 3 Effectuez une conversion manuelle dans ces cas. Problème 6640 : MySQL ne prend pas en charge l'option MOVE. Modifiez votre code pour éliminer les curseurs avec l'option MOVE. Problème 6638 : MySQL ne prend en charge l'option SCROLL dans les curseurs Modifiez votre code pour éliminer les curseurs avec l'option SCROLL. Problème 6337 : MySQL ne prend pas en charge une variable de type REFCURSOR Essayez de corriger le code pour utiliser des tables temporaires à la place. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 322 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problèmes de conversion de bases de données Problème 6101 : MySQL ne prend pas en charge cette clause dans une instruction ALTER DATABASE Procédez à une conversion manuelle. Problème 6100 : La migration de base de données à base de données n'est pas proposée Utilisez plutôt le plan de migration de schéma à base de données. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DATA TYPES Problème 6673 : MySQL ne prend pas en charge le type %s dans la fonction CAST, et une perte de précision ou d'exactitude des données est possible Les instructions qui convertissent les valeurs dans l'un des types de données suivants sont converties en instructions qui convertissent les valeurs en CHAR : • BYTEA • CIDR • JSON • int4range Prenons pour exemple les instructions PostgreSQL suivantes. select '1'::BYTEA select CAST('1' AS BYTEA) Elles sont toutes deux converties en instructions MySQL comme suit. select CAST('1' AS CHAR) Examinez le code converti et corrigez-le, si nécessaire. Problème 6674 : MySQL ne prend pas en charge le type %s dans la fonction CAST Les instructions qui convertissent une valeur en type de données TXID_SNAPSHOT sont converties en instructions qui convertissent une valeur en CHAR. Prenons pour exemple les instructions PostgreSQL suivantes. select '2628:2628:'::TXID_SNAPSHOT select CAST('2628:2628:' AS TXID_SNAPSHOT) Version 1.0 323 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Elles sont toutes deux converties en instructions MySQL comme suit : select CAST('2628:2628:' AS CHAR) Examinez le code converti et corrigez-le, si nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de DELETE Problème 6069 : MySQL ne prend pas en charge l'instruction DELETE avec l'option RETURNING Pour convertir cette opération, changez l'instruction DELETE associée à la clause RETURNING en une instruction DELETE avec les instructions INSERT suivantes, et utilisez les mêmes conditions de clé dans chaque instruction INSERT. Problème 6672 : MySQL ne prend pas en charge la suppression par curseur MySQL ne prend pas en charge l'utilisation d'une instruction DELETE dans un curseur. Effectuez une conversion manuelle dans le cas présent. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de domaines Problème 6050 : MySQL ne prend pas en charge les domaines Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec DYNAMIC SQL Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique RETURN QUERY EXECUTE Examinez et modifiez la chaîne d'exécution. Version 1.0 324 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de la gestion des erreurs Problème 6665 : MySQL ne prend pas en charge la commande GET [CURRENT] DIAGNOSTICS Procédez à une conversion manuelle. Problème 6664 : MySQL ne prend pas en charge les informations de condition %s Certaines informations de condition utilisées par l'instruction GET STACKED DIAGNOSTICS dans PostgreSQL ne sont pas prises en charge par MySQL. Tel est le cas des éléments suivants : • PG_DATATYPE_NAME • TABLE_NAME • SCHEMA_NAME • PG_EXCEPTION_DETAIL • PG_EXCEPTION_HINT • PG_EXCEPTION_CONTEXT Convertissez manuellement le code partout où vous utilisez ces informations de condition. Problème 6329 : MySQL ne prend pas en charge l'exception RAISE Examinez l'exception RAISE utilisée et, si possible, convertissez-la en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des exceptions Problème 6342 : MySQL ne prend pas en charge le nom de condition %s Examinez l'exception utilisée et, si possible, convertissez-la en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 325 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problèmes de conversion de FROM Problème 6603 : Impossible d'utiliser la fonction d'une clause from Le code qui effectue une sélection à partir d'une fonction, par exemple SELECT * FROM function_name;, n'est pas converti. Effectuez une conversion manuelle dans le cas présent. Problème 6682 : Impossible d'utiliser la fonction table-value dans la clause from MySQL ne prend pas en charge la fonction table-value. Effectuez une conversion manuelle dans le cas présent. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de FUNCTION Problème 6675 : La fonction de conversion automatique sur la langue %s n'est pas prise en charge Procédez à une conversion manuelle. Problème 6613 : Impossible de convertir une fonction sans paramètres OUT retournant un type RECORD Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des fonctions Problème 6604 : MySQL ne prend pas en charge la clause RETURN NEXT Procédez à une conversion manuelle. Problème 6605 : MySQL ne prend pas en charge le mode VARIADIC d'un argument Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 326 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problèmes de conversion avec index Problème 6091 : MySQL ne prend pas en charge la méthode d'index %s Le moteur InnoDB dans MySQL ne prend pas en charge les index HASH et ON table_name. Effectuez une conversion manuelle dans ces cas. Problème 6090 : MySQL ne prend pas en charge les index sur les expressions Procédez à une conversion manuelle. Problème 6092 : MySQL ne prend pas en charge l'ordre de tri explicite dans la définition d'index Les index qui utilisent l'ordre de tri explicite sont convertis pour utiliser l'ordre de tri par défaut (croissant) à la place. Si cette conversion entraîne la dégradation des performances, modifiez le code converti comme nécessaire. Problème 6093 : MySQL ne prend pas en charge les index partiels Les index partiels sont convertis à la place en index complet. Prenons pour exemple l'instruction PostgreSQL suivante. CREATE INDEX i_indexed_partial ON test_pg_mysql.indexed_partial USING btree ( n ) WHERE ( n < 100 ); L'instruction précédente est convertie en instruction MySQL suivante : CREATE INDEX i_indexed_partial USING BTREE ON test_pg_mysql.indexed_partial ( n ); Si cette conversion entraîne la dégradation des performances, modifiez le code converti comme nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'INSERT Problème 6172 : MySQL ne prend pas en charge l'instruction INSERT avec l'option RETURNING Pour convertir cette opération, remplacez l'instruction INSERT associée à la clause RETURNING par une instruction INSERT avec les instructions SELECT suivantes, et utilisez les mêmes conditions de clé dans chaque SELECT. Vous pouvez également utiliser la dernière valeur générée par une colonne AUTO_INCREMENT dans la condition de clé. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) Version 1.0 327 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'INTERSECT, EXCEPT Problème 6612 : La requête assortie de l'opérateur INTERSECT/EXCEPT ALL a été transformée Les options EXCEPT ALL et INTERSECT ALL de l'instruction SELECT ne pouvant pas être converties directement, elles le sont dans d'autres options de langage qui doivent produire les mêmes résultats. Prenons pour exemple les instructions PostgreSQL suivantes. SELECT * FROM customers except all SELECT * FROM customers; SELECT * FROM customers intersect all SELECT * FROM customers; Les instructions précédentes sont converties en instructions MySQL, comme suit. SELECT customers.id, customers.name, customers.surname, customers.postcode FROM customers where (customers.id, customers.name, customers.surname, customers.postcode) not in (SELECT customers.id, customers.name, customers.surname, customers.postcode FROM customers); SELECT customers.id, customers.name, customers.surname, customers.postcode FROM customers inner join (SELECT customers.id, customers.name, customers.surname, customers.postcode FROM customers) nn on (customers.id=nn.id or (customers.id is null and nn.id is null)) and customers.name=nn.name and (customers.surname=nn.surname or (customers.surname is null and nn.surname is null)) and (customers.postcode=nn.postcode or (customers.postcode is null and nn.postcode is null)); Examinez le code converti et corrigez-le, si nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de LABEL Problème 6344 : MySQL ne prend pas en charge les variables avec étiquettes Essayez de réécrire les variables sans utiliser d'étiquettes (labels). Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 328 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problèmes de conversion de LIMIT Problème 6611 : L'option LIMIT/OFFSET a été omise MySQL ne prend pas en charge l'utilisation des options LIMIT ou OFFSET avec l'instruction SELECT. Ces options sont supprimées pendant la conversion. Prenons pour exemple l'instruction PostgreSQL suivante. SELECT * FROM customers c offset 3; Cette instruction est convertie en instruction MySQL comme suit : SELECT * FROM customers c; Examinez le code converti et corrigez-le, si nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de vues matérialisées Problème 6130 : MySQL ne prend pas en charge les vues matérialisées ; la vue matérialisée source est convertie en une table avec des déclencheurs Vérifiez le code converti pour vous assurer qu'il correspond à vos besoins et corrigez-le si nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec des messages de procédures stockées Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport Essayez d'utiliser INSERT pour écrire à la place un message dans une table de journal. Pour ce faire, vous devez ajouter du code dans l'une des tables suivantes dans le schéma AWS_POSTGRESQL_EXT (le schéma de travail temporaire utilisé pour PostgreSQL) : • RAISE_DEBUG • RAISE_LOG • RAISE_INFO • RAISE_NOTICE • RAISE_WARNING Version 1.0 329 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des opérateurs et des fonctions de date Problème 6660 : Impossible de convertir l'opération %s associée à la valeur d'intervalle en tant qu'un ou plusieurs arguments Certaines opérations associées à des arguments qui utilisent le type de données interval ne peuvent pas être converties, par exemple SELECT INTERVAL '1-1' YEAR TO MONTH * 2;. Effectuez une conversion manuelle dans le cas présent. Problème 6661 : L'opération retourne le nombre de jours et non la valeur d'intervalle Après la conversion, certains calculs qui utilisent les types de données date ou time retournent le nombre de jours et non une valeur d'intervalle comme auparavant, par exemple SELECT TIMESTAMP '2012-01-01 09:30:15.01' - DATE '2010-01-01';. Vérifiez si le nouveau type de retour répond à vos besoins et corrigez le code si nécessaire. Problème 6662 : Format non pris en charge pour la valeur d'intervalle A l'heure actuelle, le seul format pris en charge pour une valeur littérale affectée à un type de données interval est le format ANSI SQL. Procédez à une conversion manuelle dans le cas d'un format non pris en charge. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'ORDER BY Problème 6610 : Une transformation nulls first/last a été effectuée MySQL ne prend pas en charge les options NULLS FIRST ou NULLS LAST avec l'instruction SELECT. Les instances de ce langage sont converties pour utiliser à la place la fonction isnull(). Prenons pour exemple les instructions PostgreSQL suivantes. SELECT * FROM customers c order by id nulls last; SELECT * FROM customers c order by id desc nulls first; Ces instructions sont converties en instructions MySQL, comme suit. SELECT * FROM customers c order by isnull(id), id; SELECT * FROM customers c order by isnull(id) desc, id desc; Examinez le code converti et corrigez-le, si nécessaire. Version 1.0 330 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problème 6609 : L'option ORDER a été omise, car MySQL ne prend pas en charge le mot clé USING dans la clause order by MySQL ne prend pas en charge la clause ORDER BY nom_champ USING, par exemple SELECT * FROM customers c order by id using >;. Pendant la conversion, la clause ORDER BY est supprimée. Examinez ce code et corrigez-le si nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'erreur d'analyse (Parser Error) Problème 6663 : Impossible de résoudre l'objet Vérifiez si l'objet %s est présent dans la base de données. S'il ne l'est pas, vérifiez le nom de l'objet ou ajoutez ce dernier. Si l'objet est présent, transformez le code manuellement. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des modèles Problème 6607 : N'a pas pu convertir le modèle en version MySQL ; vérifier manuellement le modèle MySQL ne prend pas en charge certaines syntaxes de correspondance de modèle, par exemple SELECT * FROM customers where name similar to 'name';. Effectuez une conversion manuelle dans le cas présent. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec le type ROW, RECORD Problème 6606 : MySQL ne prend pas en charge de fonction ROW() avec n'importe quel, certains ou tous les prédicats MySQL ne prend pas en charge la fonction ROW() avec n'importe quel, certains ou tous les prédicats, par exemple SELECT * FROM customers c where ROW(c.id, c.postcode) <= all (select id, order_sum from orders where id = c.id);. Effectuez à la place une conversion manuelle. Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD Procédez à une conversion manuelle. Version 1.0 331 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de SELECT Problème 6679 : Valeur non fixe dans la transaction de départ Examinez votre code et corrigez-le de façon à utiliser une variable locale, si nécessaire. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de SELECT INTO Problème 6666 : Une transformation du mode non strict en clause a été effectuée Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de SELECT, UPDATE, INSERT, DELETE Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE Utilisez une procédure stockée pour préparer les données ou réécrivez votre requête pour éviter la clause WITH RECURSIVE. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des séquences Problème 6060 : MySQL ne prend pas en charge les séquences Procédez à une conversion manuelle. Version 1.0 332 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des fonctions SQL Problème 6343 : MySQL ne prend pas en charge l'option COLLATE ; la conversion automatique ne peut pas être effectuée Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la création de la base de données. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion avec les colonnes du tableau Problème 6006 : MySQL ne prend pas en charge le type %s Vérifiez le type de données cibles et corrigez-le si nécessaire. Problème 6008 : MySQL ne prend pas en charge les types de tableau pour la définition de colonne du tableau MySQL ne prend pas en charge l'utilisation d'un type de données de tableau pour une colonne du tableau ou une variable de la fonction, donc ce code n'est pas automatiquement converti à partir de PostgreSQL. Effectuez à la place une conversion manuelle. Problème 6011 : MySQL ne prend pas en charge CIRCLE en tant que type spatial ; les résultats approximatifs de la fonction BUFFER du type de données POLYGON est utilisé pour effectuer une conversion Vérifiez le code converti et révisez-le si la représentation approximative ne répond pas à vos besoins. Problème 6002 : MySQL ne prend pas en charge %s avec une précision de plus de 65 chiffres et une échelle à plus de 30 chiffres ; la perte de précision ou l'exactitude des données est possible Vérifiez si vous convertissez les colonnes dont les types de données numériques enfreignent ces restrictions. Si oui, effectuez à la place une migration manuelle. Problème 6005 : MySQL ne prend pas en charge le type INTERVAL Effectuez une conversion manuelle de n'importe quel code qui utilise ce type de données. Version 1.0 333 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problème 6010 : MySQL ne prend pas en charge les lignes infinies ; un LINESTRING avec deux points sur la ligne est utilisé pour la conversion N'importe quelle instance du type de données LINE est converti en un type de données LINESTRING. Si la représentation à deux pointes n'est pas adaptée à vos besoins, modifiez ce code. Problème 6009 : MySQL ne prend pas en charge les types de plage MySQL ne prend pas en charge les types de données de plage comme LONGTEXT ou VARCHAR (longueur). A la place, convertissez manuellement le code qui utilise ces types de données. Problème 6001 : Incapacité de fournir une migration complète pour l'incrémentation automatique des colonnes du tableau Les types de données d'incrémentation automatique PostgreSQL SMALLSERIAL, SERIAL et BIGSERIAL sont convertis en types de données MySQL SMALLINT, INT et BIGINT, respectivement. Si vous souhaitez activer l'incrémentation automatique, MySQL prend en charge une seule colonne à incrémentation automatique par tableau et il doit s'agir d'une clé. Sélectionnez une colonne appropriée et mettez la à jour manuellement pour répondre à ces exigences. Problème 6003 : MySQL ne prend pas en charge les informations de fuseau horaire pour le type de %s Procédez à une conversion manuelle. Problème 6004 : MySQL ne prend pas en charge les informations de fuseau horaire pour le type de %s Effectuez à la place une conversion manuelle. Si les informations de fuseau horaire ne sont pas importantes, vous pouvez choisir DATETIME(6) comme type de données cible. Sinon, essayez de convertir les données en TIMESTAMP(6), en tenant compte de la valeur du paramètre de serveur time_zone. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des colonnes de table, des arguments de fonction et des variables locales Problème 6012 : Les chaînes de bits converties sont remplies à droite de bits de valeur zéro sur la longueur d'un octet complet Examinez le code converti et corrigez-le si la représentation approximative ne répond pas à vos besoins. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 334 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problèmes de conversion avec les tables Problème 6111 : MySQL ne prend pas en charge les contraintes reportables Vérifiez votre schéma et assurez-vous que les contraintes non reportables peuvent offrir le niveau d'intégrité nécessaire. Dans le cas contraire, procédez à une conversion manuelle au niveau des contraintes. Problème 6112 : MySQL ne prend pas en charge les contraintes d'exclusion Procédez à une conversion manuelle de la contrainte d'exclusion pour offrir le même niveau d'intégrité des données. Problème 6113 : MySQL ne prend pas en charge les contraintes de vérification ; la contrainte source est convertie en une augmentation d'erreur conditionnelle dans les déclencheurs Avec MySQL, les contraintes de vérification sont analysées mais ignorées. Au lieu de cela, les contraintes de vérification PostgreSQL sont converties en déclencheurs qui interviennent avant les événements INSERT et UPDATE. Vérifiez ce code pour voir s'il répond à vos besoins et, si nécessaire, procédez à une conversion manuelle de la contrainte de vérification pour fournir le niveau attendu d'intégrité des données. Problème 6114 : MySQL ne prend pas en charge SET DEFAULT comme une action référentielle dans les clés étrangères MySQL ne prend pas en charge l'utilisation de SET DEFAULT lorsque vous créez une clé étrangère. Toutes les instructions SET DEFAULT sont converties aux instructions SET NULL. Examinez ce code et modifiez-le si nécessaire. Problème 6115 : MySQL ne prend pas en charge les expressions dans les contraintes DEFAULT et elles sont donc converties en un déclencheur BEFORE INSERT MySQL ne prend pas en charge l'utilisation d'expressions comme valeurs par défaut lors de la création d'une table et par conséquent, lors d'une conversion, un déclencheur BEFORE INSERT est créé pour insérer à la place les valeurs par défaut. Les colonnes CHARACTER VARYING sont converties en colonnes TEXT ou LONGTEXT (en fonction de la longueur de la colonne source), qui ne peuvent pas avoir de valeurs par défaut dans MySQL. Par conséquent, toutes les valeurs par défaut dans ces colonnes sont traitées comme des expressions et sont également incluses dans le déclencheur BEFORE INSERT. Prenons pour exemple le code PostgreSQL suivant. CREATE TABLE IF NOT EXISTS test_pg_mysql.constraint_default_expression ( n numeric( 10, 0 ) DEFAULT 12345+98765 , d date DEFAULT now() , d2 date DEFAULT '2016-01-06'::date , s character varying (10) DEFAULT 'A string' ); Ce code est converti en code MySQL suivant. CREATE TRIGGER constraint_default_expression_bir BEFORE INSERT ON test_pg_mysql.constraint_default_expression FOR EACH ROW Version 1.0 335 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL BEGIN default_values_expr: BEGIN -- default value for n column IF NEW.n IS NULL THEN SET NEW.n = 123456 + 98765; END IF; -- default value for d column IF NEW.d IS NULL THEN SET NEW.d = now( 6 ); END IF; -- default value for d2 column IF NEW.d2 IS NULL THEN SET NEW.d2 = CAST( '2016-01-06' AS DATE ); END IF; -- default value for s column IF NEW.s IS NULL THEN SET NEW.s = 'A string'; END IF; END default_values_expr; END; Problème 6117 : Impossible de conserver la contrainte NOT NULL pour la colonne %s lors de la conversion de sa contrainte DEFAULT basée sur une expression MySQL ne prend pas en charge l'utilisation d'expressions comme valeurs par défaut lors de la création d'une table et par conséquent, lors d'une conversion, un déclencheur BEFORE INSERT est créé pour insérer à la place les valeurs par défaut. Pour en savoir plus, consultez Problème 6115 : MySQL ne prend pas en charge les expressions dans les contraintes DEFAULT et elles sont donc converties en un déclencheur BEFORE INSERT (p. 335). Si une colonne qui a une valeur par défaut et est donc convertie de cette manière a aussi une contrainte NOT NULL, la contrainte NOT NULL est convertie dans le cadre du même déclencheur plutôt que de rester dans le cadre de l'instruction CREATE TABLE. Problème 6110 : MySQL ne prend pas en charge les tables sans colonnes MySQL ne prend pas en charge l'utilisation de l'instruction CREATE TABLE sans spécifier au moins une colonne. Cette utilisation est quelque chose que vous pourriez lors de la création d'une table basée sur un type défini par l'utilisateur, par exemple. Effectuez à la place une conversion manuelle. Problème 6107 : MySQL ne prend pas en charge les tables non journalisées Les tables non journalisées dans PostgreSQL sont converties en tables régulières dans MySQL. Vérifiez ce code pour voir s'il répond à vos besoins et corrigez-le si nécessaire. Problème 6108 : MySQL ne prend pas en charge les tables héritées Procédez à une conversion manuelle. Problème 6109 : MySQL ne prend pas en charge les tables typées Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 336 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Problèmes de conversion avec TRIGGERS Problème 6083 : MySQL ne prend pas en charge les déclencheurs conditionnels qui interviennent sur les mises à jour de colonnes particulières ; une conversion ignorera une telle condition MySQL ne prend pas en charge les déclencheurs conditionnels reposant sur la mise à jour d'une colonne spécifique. Prenons pour exemple l'instruction suivante dans PostgreSQL. CREATE TRIGGER triggering_cond_bur_of BEFORE UPDATE OF n Cette instruction est convertie en instruction suivante dans MySQL : CREATE TRIGGER triggering_cond_bur BEFORE UPDATE Si vous avez besoin de cette fonctionnalité, procédez à la place à une conversion manuelle. Problème 6082 : MySQL ne prend pas en charge les déclencheurs de contrainte MySQL ne prend pas en charge les déclencheurs de contrainte et par conséquent, toutes les instructions CREATE CONSTRAINT TRIGGER sont converties en instructions CREATE TRIGGER. Examinez ce code et modifiez-le si nécessaire. Problème 6087 : MySQL ne prend pas en charge les déclencheurs de désactivation PostgreSQL permet aux utilisateurs de désactiver les déclencheurs de la table afin qu'ils n'interviennent pas, puis réactivez-les ultérieurement. MySQL ne prend pas ceci en charge et vous devez donc effectuer une conversion manuelle de ce code. Problème 6086 : Impossible de transformer automatiquement l'abandon d'un déclencheur Les instructions DROP TRIGGER ne sont pas automatiquement converties. Effectuez à la place une conversion manuelle. Problème 6084 : MySQL ne prend pas en charge les déclencheurs INSTEAD OF Procédez à une conversion manuelle. Problème 6085 : MySQL ne prend pas en charge plusieurs déclencheurs sur le même événement ; les déclencheurs sont fusionnés en un dans l'ordre alphabétique par nom de déclencheur Plusieurs déclencheurs sur un événement sont automatiquement fusionnés en un seul déclencheur, avec leurs fonctionnalités insérées alphabétiquement dans le nouveau déclencheur par nom du déclencheur. Vérifiez ce code déclencheur après la conversion et corrigez-le si nécessaire. Prenons pour exemple le code PostgreSQL suivant. CREATE TRIGGER triggering_multiple_inc BEFORE INSERT ON test_pg_mysql.triggering_multiple Version 1.0 337 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL FOR EACH ROW EXECUTE PROCEDURE test_pg_mysql.fu_triggering_simple_inc(); CREATE TRIGGER triggering_multiple_inc_2 BEFORE INSERT ON test_pg_mysql.triggering_multiple FOR EACH ROW EXECUTE PROCEDURE test_pg_mysql.fu_triggering_simple_inc(); Ce code est converti en code MySQL suivant. CREATE TRIGGER triggering_multiple_bir BEFORE INSERT ON test_pg_mysql.triggering_multiple FOR EACH ROW BEGIN tr1: BEGIN -- triggering_multiple_inc SET NEW.n = NEW.n + 1; END tr1; tr2: BEGIN -- triggering_multiple_inc_2 SET NEW.n = NEW.n + 1; END tr2; END; Problème 6081 : MySQL ne prend pas en charge les déclencheurs intervenant sur plusieurs événements ; un tel déclencheur est converti en plusieurs déclencheurs ponctuels avec le même corps PostgreSQL prend en charge la spécification de plusieurs événements avec l'instruction CREATE TRIGGER, par exemple CREATE TRIGGER trigger_name BEFORE INSERT OU UPDATE. Toutefois, MySQL prend uniquement en charge la spécification d'un événement, par exemple CREATE TRIGGER trigger_name BEFORE UPDATE. Les déclencheurs PostgreSQL qui spécifient plusieurs événements sont convertis en plusieurs déclencheurs avec le même corps de déclencheur, un pour chaque événement spécifié. Vérifiez ce code déclencheur après la conversion et corrigez-le si nécessaire. Prenons pour exemple le code PostgreSQL suivant. CREATE TRIGGER triggering_simple_inc BEFORE INSERT OR UPDATE ON test_pg_mysql.triggering_simple FOR EACH ROW EXECUTE PROCEDURE test_pg_mysql.fu_triggering_simple_inc(); Ce code est converti en code MySQL suivant : CREATE TRIGGER triggering_simple_bir BEFORE INSERT ON test_pg_mysql.triggering_simple FOR EACH ROW BEGIN tr1: BEGIN SET NEW.n = NEW.n + 1; END tr1; END; CREATE TRIGGER triggering_simple_bur Version 1.0 338 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL BEFORE UPDATE ON test_pg_mysql.triggering_simple FOR EACH ROW BEGIN tr1: BEGIN SET NEW.n = NEW.n + 1; END tr1; END; Problème 6080 : MySQL ne prend pas en charge les déclencheurs au niveau de l'instruction MySQL ne prend pas en charge la clause FOR EACH STATEMENT pour les instructions CREATE TRIGGER. Convertissez manuellement ce code. Problème 6650 : Impossible de convertir l'instruction avec TG_ARGV automatiquement Les instructions CREATE TRIGGER qui utilisent TG_ARGV pour fonctionner avec les arguments déclencheur ne peuvent pas être converties. Effectuez à la place une conversion manuelle. Problème 6651 : Non prises en charge en utilisant l'instruction RETURN dans le déclencheur convertie en instruction LEAVE Vérifiez le flux d'exécution et procédez à une conversion manuelle si nécessaire. Problème 6652 : MySQL ne prend pas en charge d'enregistrement OLD dans les déclencheurs sur des enregistrements INSERT ou NEW dans les déclencheurs sur DELETE MySQL ne prend pas en charge la variable NEW dans les déclencheurs qui utilisent DELETE, et il ne prend pas non plus en charge la variable OLD dans les déclencheurs qui utilisent INSERT. Dans ces cas, la référence de variable est remplacée par NULL, par exemple, NEW.n > 0 is replaced by NULL > 0. Vérifiez ce code pour voir si l'utilisation de NULL au lieu d'un champ de l'enregistrement non pris en charge est approprié et corrigez-le si nécessaire. Problème 6088 : MySQL ne prend pas en charge l'événement TRUNCATE pour les déclencheurs Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des types définis par l'utilisateur Problème 6120 : MySQL ne prend pas en charge les types de données définis par l'utilisateur Procédez à une conversion manuelle du code comportant des types définis par l'utilisateur. Cette conversion doit inclure non seulement les références aux types définis par l'utilisateur, mais également les instances éventuelles des instructions CREATE TYPE, ALTER TYPE, or DROP TYPE. Version 1.0 339 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion inconnus (Unknown) Problème 6013 : Cette conversion d'élément syntaxique n'est pas encore prise en charge Procédez à une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion d'UPDATE Problème 6669 : La clause FROM a été réécrite La clause FROM dans les instructions UPDATE est réécrite pendant la conversion de PostgreSQL vers MySQL. Prenons pour exemple l'instruction PostgreSQL suivante. update test_pg_mysql.customers c set id = c.id +1, name = o.name, postcode = o.order_sum from test_pg_mysql.orders o where o.id = c.id; Cette instruction est convertie en instruction MySQL comme suit. update customers c set id = c.id +1, name = (select name from orders where id = c.id), postcode = (select order_sum from orders where id = c.id) where c.id in (select id from orders); Passez en revue ce code pour vous assurer qu'il produit les résultats que vous souhaitez. Problème 6066 : MySQL ne prend pas en charge l'instruction UPDATE avec l'option RETURNING Pour effectuer cette opération, convertissez l'instruction UPDATE associée à la clause RETURNING en instruction UPDATE avec les instructions INSERT dont les conditions de clé spécifiées figurent dans la clause SELECT. Problème 6670 : MySQL ne prend pas en charge la mise à jour par curseur MySQL ne prend pas en charge la mise à jour d'une table à partir d'un curseur, comme illustré dans l'exemple suivant. DECLARE c1 CURSOR FOR SELECT id FROM test_pg_mysql.customers; Version 1.0 340 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL val numeric(14,0); BEGIN OPEN c1; fetch c1 into val; update test_pg_mysql.customers set name = 'nfhr' where current of c1; CLOSE c1; END Effectuez à la place une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de fonctions d'agrégation définies par l'utilisateur Problème 6140 : Impossible de convertir les instructions d'agrégation définies par l'utilisateur Convertissez manuellement des fonctions d'agrégation définies par l'utilisateur. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de VIEW Problème 6076 : L'instruction SELECT ne peut pas contenir de sous-requête dans la clause FROM Réécrivez la requête sur laquelle la vue est basée de sorte qu'elle n'utilise pas de sous-requête ou créez une table auxiliaire pour la sous-requête. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des vues Problème 6072 : MySQL ne prend pas en charge les valeurs par défaut pour les colonnes de la vue MySQL ne prend pas en charge la spécification d'une valeur par défaut lorsque vous créez ou de modifier une vue, comme illustré dans l'exemple suivant. Version 1.0 341 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes ALTER VIEW test_pg_mysql.v_default_values ALTER n SET DEFAULT 10; Si vous avez besoin de cette fonctionnalité, procédez à la place à une conversion manuelle. Problème 6071 : MySQL ne prend pas en charge la sécurité au niveau des lignes Si la même fonctionnalité est nécessaire, procédez à la place à une conversion manuelle. Problème 6070 : MySQL ne prend pas en charge les vues temporaires ou les vues sur les tables temporaires Effectuez à la place une conversion manuelle. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 307) • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 94) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) • Mise en route avec AWS Schema Conversion Tool (p. 9) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 342 AWS Schema Conversion Tool Guide de l'utilisateur Historique du document Le tableau suivant répertorie les modifications importantes apportées à cette documentation depuis la dernière publication du Guide de l'utilisateur AWS Schema Conversion Tool User Guide. • Version : 1.0.600 • Date de la dernière mise à jour de la documentation : 16 février 2017 Modification Description Date de modification Agents de migration de données Vous pouvez désormais installer des agents de migration de données qui extraient des données de votre entrepôt de données et les préparer en vue d'une utilisation avec Amazon Redshift. Vous pouvez utiliser AWS Schema Conversion Tool pour enregistrer les agents et créer des tâches d'extraction de données pour ces derniers. Pour plus d'informations, consultez Utilisation des agents de migration de données (p. 71). 16 février 2017 Retours des clients Vous pouvez désormais fournir des commentaires sur AWS Schema Conversion Tool. Vous pouvez générer un rapport de bogue, soumettre une demande de fonctionnalité ou fournir des informations générales. Pour plus d'informations, consultez Fournir des commentaires client (p. 3). 16 février 2017 Intégration à AWS DMS Vous pouvez désormais utiliser AWS Schema Conversion Tool pour créer des points de terminaison et des tâches AWS DMS. Vous pouvez exécuter et surveiller les tâches à partir d'AWS Schema Conversion Tool. Pour plus d'informations, consultez Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 79). 20 décembre 2016 Amazon Aurora avec compatibilité PostgreSQL en tant que base de données cible AWS Schema Conversion Tool prend désormais en charge 20 décembre 2016 Amazon Aurora avec compatibilité PostgreSQL en tant que base de données cible. Pour plus d'informations, consultez Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 46). Version 1.0 343 AWS Schema Conversion Tool Guide de l'utilisateur Modification Description Date de modification Prise en charge des profils Vous pouvez désormais stocker plusieurs profils dans AWS Schema Conversion Tool et basculer aisément entre eux. Pour plus d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 87). 20 décembre 2016 Prise en charge de Greenplum Database et Netezza Vous pouvez désormais utiliser AWS Schema Conversion Tool pour convertir les schémas d'entrepôt de données de Greenplum Database et Netezza vers Amazon Redshift. Pour plus d'informations, consultez Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58). 17 novembre 2016 Optimisation de Redshift Vous pouvez maintenant utiliser AWS Schema Conversion Tool pour optimiser les bases de données Amazon Redshift. Pour plus d'informations, consultez Optimisation d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool (p. 77). 17 novembre 2016 Règles de mappage Avant de convertir votre schéma à l'aide d'AWS Schema Conversion Tool, vous pouvez maintenant définir des règles qui changent le type de données des colonnes, déplacent des objets d'un schéma à un autre et modifient les noms des objets. Pour plus d'informations, consultez Création de règles de mappage dans AWS Schema Conversion Tool (p. 47). 4 octobre 2016 Déplacer vers le cloud Vous pouvez maintenant utiliser AWS Schema Conversion 4 octobre 2016 Tool pour copier votre schéma de base de données sur site existant vers une instance de base de données Amazon RDS qui exécute le même moteur. Cette fonction vous permet d'analyser les économies de coûts potentielles en cas de déplacement vers le cloud et de changement de votre type de licence. Pour plus d'informations, consultez Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) et Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 50). Conversions de schémas d'entrepôt de données Vous pouvez désormais utiliser AWS Schema Conversion Tool pour convertir les schémas d'entrepôt de données d'Oracle et Teradata vers Amazon Redshift. Pour plus d'informations, consultez Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 58). 13 juillet 2016 Conversions de code SQL d'application Vous pouvez désormais utiliser AWS Schema Conversion Tool pour convertir le SQL dans le code de votre application C++, C#, Java ou autre. Pour plus d'informations, consultez Conversion d'Application SQL en utilisant AWS Schema Conversion Tool (p. 82). 13 juillet 2016 Version 1.0 344 AWS Schema Conversion Tool Guide de l'utilisateur Modification Description Date de modification Nouvelle fonction AWS Schema Conversion Tool contient désormais un kit d'extension et un Assistant qui facilitent l'installation, la création et la configuration de fonctions AWS Lambda et de bibliothèques Python pour fournir notamment des fonctions de courrier électronique et de planification des tâches. Pour plus d'informations, consultez Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 55) et Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 69). 13 juillet 2016 Nouvelle fonction Vous pouvez désormais utiliser le protocole SSL (Secure Sockets Layer) pour vous connecter à votre base de données source lorsque vous utilisez AWS Schema Conversion Tool. Pour plus d'informations, consultez Connexion à la base de données source (p. 11). 19 mai 2016 Nouvelle fonction Ajoute une prise en charge de MySQL et PostgreSQL en tant que bases de données source pour les conversions. 11 avril 2016 Publication de maintenance Ajoute une prise en charge de la modification du code SQL converti qui a été généré pour le moteur de base de données cible. Ajoute des capacités de sélection améliorées dans les arborescences de la base de données source et de l'instance DB cible. Ajoute une prise en charge de la connexion à une base de données source Oracle en utilisant des noms TNS (Transparent Network Substrate). 2 mars 2016 Publication de maintenance Ajoute une prise en charge de PostgreSQL en tant que moteur de base de données cible. Ajoute la possibilité de générer un schéma converti sous forme de scripts et d'enregistrer les scripts dans des fichiers avant d'appliquer le schéma à l'instance DB cible. 14 janvier 2016 Publication de maintenance Ajoute une fonctionnalité de projet hors connexion, la possibilité de rechercher les nouvelles versions et la gestion de la mémoire et des performances. 2 décembre 2015 Publication de maintenance Ajoute l'Assistant Create New Database Migration Project. Ajoute la possibilité d'enregistrer le rapport d'évaluation de migration de base de données sous forme de fichier PDF. 19 octobre 2015 Version préliminaire Fournit le guide de l'utilisateur de la version préliminaire d'AWS Schema Conversion Tool. 7 octobre 2015 Version 1.0 345