AWS Schema Conversion Tool
Transcription
AWS Schema Conversion Tool
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 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 La fenêtre de projet .............................................................................................................. 2 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 ............................................................................ 9 Rubriques connexes .............................................................................................................. 9 Mise en route ............................................................................................................................. 10 Avant de commencer ........................................................................................................... 10 Création d'un projet ............................................................................................................. 11 Connexion à la base de données source ................................................................................ 12 Connexion à votre base de données cible ............................................................................... 12 Conversion d'un schéma ...................................................................................................... 13 Privilèges de base de données requis .................................................................................... 14 Privilèges pour bases de données source ....................................................................... 14 Privilèges pour bases de données cible .......................................................................... 16 Rubriques connexes .................................................................................................... 24 Mise en route de la conversion de schémas de base de données ............................................... 25 Avant de commencer ................................................................................................... 25 Conversion d'un schéma .............................................................................................. 25 Rapport d'évaluation de migration de base de données ..................................................... 27 Application du schéma converti à l'instance DB cible ........................................................ 31 Rubriques connexes .................................................................................................... 32 Mise en route de la conversion de schémas d'entrepôt de données ............................................. 33 Avant de commencer ................................................................................................... 33 Choix des règles et des stratégies d'optimisation .............................................................. 33 Collecte ou téléchargement des statistiques .................................................................... 34 Conversion d'un schéma .............................................................................................. 36 Gestion et personnalisation des clés .............................................................................. 37 Rapport d'évaluation de migration de base de données ..................................................... 38 Application du schéma converti à la base de données cible ............................................... 42 Rubriques connexes .................................................................................................... 43 Connexion à la base de données source ........................................................................................ 44 Connexion à une base de données source Amazon Redshift ..................................................... 44 Rubriques connexes .................................................................................................... 46 Connexion à une base de données source Greenplum ............................................................. 47 Rubriques connexes .................................................................................................... 49 Connexion à une base de données source Microsoft SQL Server ................................................ 49 Rubriques connexes .................................................................................................... 51 Connexion à une base de données source MySQL .................................................................. 51 Rubriques connexes .................................................................................................... 54 Connexion à une base de données source Netezza ................................................................. 54 Rubriques connexes .................................................................................................... 55 Connexion à une base de données source Oracle ................................................................... 55 Rubriques connexes .................................................................................................... 58 Connexion à une base de données source d'entrepôt de données Oracle ..................................... 58 Rubriques connexes .................................................................................................... 61 Connexion à une base de données source PostgreSQL ............................................................ 61 Rubriques connexes .................................................................................................... 63 Connexion à une base de données source Teradata ................................................................ 64 Rubriques connexes .................................................................................................... 65 Version 1.0 iv AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schémas de base de données ................................................................................. 66 Création de règles de mappage ............................................................................................ 68 Création de règles de mappage .................................................................................... 68 Création de règles de mappage pour des objets .............................................................. 69 Exportation des règles de mappage ............................................................................... 70 Conversion d'un schéma ...................................................................................................... 70 Conversion de schémas ............................................................................................... 70 Modification du schéma converti .................................................................................... 72 Suppression d'un schéma converti ................................................................................. 73 Création et utilisation du rapport d'évaluation ........................................................................... 74 Création d'un rapport d'évaluation de migration de la base de données ................................ 75 Récapitulatif ................................................................................................................ 75 Eléments d'action ........................................................................................................ 76 Enregistrement du rapport d'évaluation ........................................................................... 77 Gestion des conversions manuelles ....................................................................................... 78 Modification de votre schéma source ............................................................................. 79 Modification de votre schéma cible ................................................................................ 79 Rubriques connexes .................................................................................................... 79 Mise à jour et actualisation de votre schéma converti ............................................................... 79 Enregistrement et application de votre schéma ........................................................................ 80 Enregistrement de votre schéma converti en un fichier ...................................................... 81 Application de votre schéma converti ............................................................................. 81 Schéma du kit d'extension ............................................................................................ 82 Conversion du schéma d'entrepôt de données ................................................................................. 83 Choix des règles et des stratégies d'optimisation ..................................................................... 85 Rubriques connexes .................................................................................................... 86 Collecte ou téléchargement des statistiques ............................................................................ 86 Rubriques connexes .................................................................................................... 87 Création de règles de mappage ............................................................................................ 88 Création de règles de mappage .................................................................................... 88 Création de règles de mappage pour des objets .............................................................. 89 Exportation des règles de mappage ............................................................................... 90 Conversion d'un schéma ...................................................................................................... 90 Conversion de schémas ............................................................................................... 90 Modification du schéma converti .................................................................................... 92 Suppression d'un schéma converti ................................................................................. 93 Gestion et personnalisation des clés ...................................................................................... 94 Rubriques connexes .................................................................................................... 95 Création et utilisation du rapport d'évaluation ........................................................................... 95 Création d'un rapport d'évaluation de migration de la base de données ................................ 96 Récapitulatif ................................................................................................................ 96 Eléments d'action ........................................................................................................ 97 Enregistrement du rapport d'évaluation ........................................................................... 98 Gestion des conversions manuelles ....................................................................................... 99 Modification de votre schéma source ............................................................................ 100 Modification de votre schéma cible ............................................................................... 100 Rubriques connexes .................................................................................................. 100 Mise à jour et actualisation de votre schéma converti .............................................................. 100 Enregistrement et application de votre schéma ...................................................................... 101 Enregistrement de votre schéma converti en un fichier .................................................... 102 Application de votre schéma converti ............................................................................ 102 Schéma du kit d'extension .......................................................................................... 103 Bibliothèques Python .................................................................................................. 104 Optimisation d'Amazon Redshift ................................................................................................... 105 Avant de commencer ......................................................................................................... 105 Optimisation de la base de données Amazon Redshift ............................................................ 106 Rubriques connexes .......................................................................................................... 107 Utilisation d'AWS DMS ............................................................................................................... 108 Version 1.0 v AWS Schema Conversion Tool Guide de l'utilisateur Avant de commencer ......................................................................................................... 108 Informations d'identification ................................................................................................. 108 Création d'une tâche .......................................................................................................... 109 Exécution et surveillance d'une tâche ................................................................................... 109 Rubriques connexes .......................................................................................................... 110 Utilisation du kit d'extension ........................................................................................................ 111 Kit d'extension et services AWS pour bases de données ......................................................... 111 Utilisation de services AWS pour émuler les fonctions de base de données ......................... 112 Avant de commencer ................................................................................................. 112 Application du kit d'extension ...................................................................................... 112 Kit d'extension et bibliothèques Python pour entrepôts de données ............................................ 113 Utilisation de services AWS pour télécharger des bibliothèques Python personnalisées ......... 114 Avant de commencer ................................................................................................. 114 Application du kit d'extension ...................................................................................... 114 Rubriques connexes .................................................................................................. 115 Conversion d'Application SQL ..................................................................................................... 116 Avant de commencer ......................................................................................................... 116 Présentation de la conversion de code SQL d'application ......................................................... 117 Création de projets de conversion d'applications .................................................................... 117 Analyse et conversion de votre code SQL ............................................................................. 120 Création et utilisation du rapport d'évaluation ......................................................................... 121 Création d'un rapport d'évaluation d'application .............................................................. 121 Modification et enregistrement de votre code SQL converti ...................................................... 122 Stockage de profils AWS ............................................................................................................ 123 Stockage d'informations d'identification AWS ......................................................................... 123 Définition du profil par défaut pour un projet .......................................................................... 124 Rubriques connexes .......................................................................................................... 124 Bonnes pratiques ...................................................................................................................... 125 Options générales de gestion et de performances de mémoire ................................................. 125 Configuration de mémoire supplémentaire ............................................................................. 125 Rubriques connexes .......................................................................................................... 126 Dépannage ............................................................................................................................... 127 Je ne peux pas charger d'objets à partir d'une base de données source Oracle ........................... 127 Rubriques connexes .......................................................................................................... 128 Raccourcis clavier ..................................................................................................................... 129 Rubriques connexes .......................................................................................................... 129 Référence ................................................................................................................................. 130 Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL ............................ 130 Instructions ............................................................................................................... 131 Procédures ............................................................................................................... 134 Contrôle de flux ......................................................................................................... 135 Fonctions ................................................................................................................. 135 Opérateurs ............................................................................................................... 143 Transactions ............................................................................................................. 145 Types de données ..................................................................................................... 146 Langage de définition de données (DDL) ...................................................................... 148 Curseurs .................................................................................................................. 149 Rubriques connexes .................................................................................................. 150 Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL ...................... 150 Langage de définition de données (DDL) ...................................................................... 150 Langage de manipulation de données (DML) ................................................................. 153 Types de données ..................................................................................................... 158 Messagerie de base de données ................................................................................. 159 Fonctions ................................................................................................................. 161 Opérateurs ............................................................................................................... 170 Autre ....................................................................................................................... 172 Service Broker .......................................................................................................... 173 SQL Server Agent ...................................................................................................... 174 Version 1.0 vi AWS Schema Conversion Tool Guide de l'utilisateur Sauvegarde SQL Server ............................................................................................. 177 T-SQL ...................................................................................................................... 177 Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL .............................................................................................................. 179 Conversion de schéma prise en charge de MySQL vers PostgreSQL ......................................... 205 DDL ......................................................................................................................... 205 DML ........................................................................................................................ 207 Fonctions ................................................................................................................. 210 Types de données ..................................................................................................... 219 Informations de référence sur la conversion de MySQL vers PostgreSQL. ........................... 223 Conversion de schéma prise en charge d'Oracle vers MySQL .................................................. 236 Instructions ............................................................................................................... 237 Procédures ............................................................................................................... 242 Contrôle de flux ......................................................................................................... 242 Packages ................................................................................................................. 242 Fonctions ................................................................................................................. 243 Opérateurs ............................................................................................................... 252 Types de données ..................................................................................................... 256 Langage de définition de données (DDL) ...................................................................... 258 Curseurs .................................................................................................................. 262 Indicateurs ................................................................................................................ 262 Exceptions ................................................................................................................ 265 Rubriques connexes .................................................................................................. 266 Conversion de schéma prise en charge d'Oracle vers PostgreSQL ............................................ 266 DDL ......................................................................................................................... 266 DML ........................................................................................................................ 270 PLSQL ..................................................................................................................... 290 Types de données ..................................................................................................... 295 Référence de conversion d'Oracle vers PostgreSQL ....................................................... 297 Conversion de schéma prise en charge de PostgreSQL vers MySQL ......................................... 327 DDL ......................................................................................................................... 327 DML ........................................................................................................................ 328 PL/pgSQL ................................................................................................................. 337 Informations de référence sur la conversion de PostgreSQL vers MySQL ........................... 344 Rubriques connexes .......................................................................................................... 381 Historique du document .............................................................................................................. 382 Version 1.0 vii 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 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. AWS Schema Conversion Tool inclut les fonctions supplémentaires suivantes : • 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, consultez Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 108). • 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. 105). • 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. 116). 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 obtenir un exemple qui vous guide sur la façon d'utiliser AWS Schema Conversion Tool pour convertir un schéma de base de données transactionnelle, consultez Mise en route de la conversion de schémas de base de données avec AWS Schema Conversion Tool (p. 25). Pour obtenir un exemple qui vous guide sur la façon d'utiliser AWS Schema Conversion Tool pour convertir un schéma de base de données transactionnelle, consultez Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion Tool (p. 33). 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. Version 1.0 2 AWS Schema Conversion Tool Guide de l'utilisateur La fenêtre de projet 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 Version 1.0 3 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes cible sont affichées. Vous pouvez modifier cette commande SQL et enregistrer la commande mise à jour avec votre projet. Rubriques connexes • Bonnes pratiques pour AWS Schema Conversion Tool (p. 125) 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 cidessous : • 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. 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 3. Microsoft Windows AWS Schema Conversion Tool-1.0.msi Mac OS X AWS Schema Conversion Tool-1.0.dmg Ubuntu Linux aws-schema-conversion-tool-1.0.deb Fedora Linux aws-schema-conversion-tool-1.0-1.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.dmg. Faites glisser AWS Schema Conversion Tool-1.0.dmg vers le dossier Applications. Ubuntu Linux Exécutez la commande suivante, file-path correspondant au dossier dans lequel vous avez téléchargé le fichier : sudo dpkg -i file-path/aws-schema-conversiontool-1.0.deb Fedora Linux Exécutez la commande suivante, file-path correspondant au dossier dans lequel vous avez téléchargé le fichier : sudo yum install file-path/aws-schema-conversiontool-1.0-1.x86_64.rpm 4. Installez les pilotes Java Database Connectivity (JDBC) pour vos moteurs de base de données source et cible. Vous trouverez plus de détails 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 de données Pilotes 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/ Oracle 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 de données Pilotes Emplacement de téléchargement Netezza nzjdbc.jar http://www.ibm.com/support/knowledgecenter/ SSULQD_7.2.1/com.ibm.nz.datacon.doc/ c_datacon_plg_overview.html 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 ci-dessous. 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-javaX.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-javaX.X.X.tar.gz PROMPT> cd /usr/local/jdbc-drivers PROMPT> sudo mkdir oracle-jdbc 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 Commandes d'installation PROMPT> cd oracle-jdbc PROMPT> sudo cp -a /tmp/ojdbc7.jar . PostgreSQL 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. Version 1.0 8 AWS Schema Conversion Tool Guide de l'utilisateur Mise à jour d'AWS Schema Conversion Tool 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. 10) Version 1.0 9 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 Amazon Redshift Mise en route avec Amazon Redshift Oracle Création d'une instance de base de données exécutant le moteur de base de données Microsoft SQL Server Version 1.0 10 AWS Schema Conversion Tool Guide de l'utilisateur Création d'un projet Moteur de base de données Documentation 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. 14). 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. Version 1.0 11 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à la base de données source 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. Moteur DB cible (OLTP) Choisissez Amazon Aurora (compatible MySQL), Amazon Aurora (compatible PostgreSQL), Amazon RDS pour 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. 44) • Connexion à une base de données source Greenplum (p. 47) • Connexion à une base de données source Microsoft SQL Server (p. 49) • Connexion à une base de données source MySQL (p. 51) • Connexion à une base de données source Netezza (p. 54) • Connexion à une base de données source Oracle (p. 55) • Connexion à une base de données source d'entrepôt de données Oracle (p. 58) • Connexion à une base de données source PostgreSQL (p. 61) • Connexion à une base de données source Teradata (p. 64) 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. Version 1.0 12 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma 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 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 4. 5. 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. Choisissez Test Connection pour vérifier que vous pouvez vous connecter correctement à la base de données cible. 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. 25) • Mise en route de la conversion de schémas d'entrepôt de données avec AWS Schema Conversion Tool (p. 33) Version 1.0 13 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> Oracle • 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 14 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 15 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 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 • ALTER ON *.* INSERT,UPDATE ON AWS_SQLSERVER_EXT.* • DROP ON *.* • INDEX ON *.* S'il s'agit d'une base de données source Oracle, • REFERENCES accordez également le privilège INSERT,UPDATE ON AWS_ORACLE_EXT.* ON *.* • SELECT ON *.* • CREATE VIEW ON *.* • SHOW VIEW ON *.* Remarques 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 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 • SELECT ON mysql.proc Amazon Aurora avec compatibilité PostgreSQL Si le nouveau Dans PostgreSQL, seul le propriétaire d'un schéma ou un schéma n'existe super utilisateur peut supprimer un schéma. Le propriétaire pas encore, peut supprimer le schéma, ainsi que tous les objets qu'il accordez le contient, même s'il n'est pas propriétaire de tous les objets privilège CREATE contenus. ON DATABASE <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 Dans Amazon Redshift, seul le propriétaire d'un schéma DATABASE ou un super utilisateur peut supprimer un schéma. Le <nom_base_de_données> 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 • USAGE ON les objets contenus. LANGUAGE plpythonu • SELECT ON ALL TABLES IN SCHEMA pg_catalog Oracle • CREATE SCHEMA — • CREATE TABLE • CREATE VIEW • CREATE TYPE • CREATE DEFAULT • CREATE FUNCTION • CREATE PROCEDURE • CREATE ASSEMBLY • CREATE AGGREGATE • CREATE FULLTEXT CATALOG 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 MySQL • CREATE ON *.* S'il s'agit d'une base de données source Microsoft SQL Server, accordez également le privilège • ALTER ON *.* INSERT,UPDATE ON AWS_SQLSERVER_EXT.* • DROP ON *.* • INDEX ON *.* S'il s'agit d'une base de données source Oracle, • REFERENCES accordez également le privilège INSERT,UPDATE ON AWS_ORACLE_EXT.* ON *.* • SELECT ON *.* S'il s'agit d'une base de données source PostgreSQL, • CREATE VIEW ON *.* • SHOW VIEW ON *.* Remarques 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 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 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 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 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 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 • ALTER ANY MINING MODEL • 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 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 TABLE • CREATE USER • 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 Version 1.0 22 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 • ALTER ANY CUBE DIMENSION • 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 Dans PostgreSQL, seul le propriétaire d'un schéma ou un schéma n'existe super utilisateur peut supprimer un schéma. Le propriétaire pas encore, peut supprimer le schéma, ainsi que tous les objets qu'il accordez le contient, même s'il n'est pas propriétaire de tous les objets privilège CREATE contenus. ON DATABASE <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 23 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Rubriques connexes • Mise en route avec AWS Schema Conversion Tool (p. 10) Version 1.0 24 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. 33). 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. 10). 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. Version 1.0 25 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma 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. 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. Version 1.0 26 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données Pour plus d'informations, consultez Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 70). 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. Version 1.0 27 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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. Version 1.0 28 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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. Version 1.0 29 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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 30 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. 74). 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. Version 1.0 31 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour appliquer le schéma de base de données converti à l'instance DB RDS 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 l'instance DB 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é à l'instance DB cible. Pour de plus amples informations, veuillez consulter Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 80). Rubriques connexes • Conversion de schémas de base de données pour Amazon RDS à l'aide d'AWS Schema Conversion Tool (p. 66) Version 1.0 32 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. 25). 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. 10). 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 33 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. 86). • 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. 85). 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. 12). 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. Version 1.0 34 AWS Schema Conversion Tool Guide de l'utilisateur Collecte ou téléchargement des statistiques 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. 86). Version 1.0 35 AWS Schema Conversion Tool Guide de l'utilisateur Conversion d'un schéma 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. Version 1.0 36 AWS Schema Conversion Tool Guide de l'utilisateur Gestion et personnalisation des clés 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. 90). 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. Version 1.0 37 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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. 33). Pour plus d'informations, consultez Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 94). 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 38 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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. Version 1.0 39 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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. Version 1.0 40 AWS Schema Conversion Tool Guide de l'utilisateur Rapport d'évaluation de migration de base de données 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 41 AWS Schema Conversion Tool Guide de l'utilisateur Application du schéma converti à la base de données cible Pour plus d'informations, consultez Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 95). 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. Version 1.0 42 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 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. 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. 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é à la base de données cible. Pour de plus amples informations, veuillez consulter Enregistrement et application de votre schéma converti dans AWS Schema Conversion Tool (p. 101). Rubriques connexes • Conversion du schéma d'entrepôt de données en Amazon Redshift en utilisant AWS Schema Conversion Tool (p. 83) Version 1.0 43 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. 44) • Connexion à une base de données source Greenplum avec AWS Schema Conversion Tool (p. 47) • Connexion à une base de données source Microsoft SQL Server avec AWS Schema Conversion Tool (p. 49) • Connexion à une base de données source MySQL avec AWS Schema Conversion Tool (p. 51) • Connexion à une base de données source Netezza avec AWS Schema Conversion Tool (p. 54) • Connexion à une base de données source Oracle avec AWS Schema Conversion Tool (p. 55) • Connexion à une base de données source d'entrepôt de données Oracle avec AWS Schema Conversion Tool (p. 58) • Connexion à une base de données source PostgreSQL avec AWS Schema Conversion Tool (p. 61) • Connexion à une base de données source Teradata avec AWS Schema Conversion Tool (p. 64) 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. Version 1.0 44 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données 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. 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. Version 1.0 45 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 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. Rubriques connexes • Privilèges de base de données requis pour l'utilisation d'AWS Schema Conversion Tool (p. 14) • Connexion à votre base de données cible (p. 12) Version 1.0 46 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Greenplum 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. Version 1.0 47 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Greenplum 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. • 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. Version 1.0 48 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. 14) • Connexion à votre base de données cible (p. 12) 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. Version 1.0 49 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Microsoft SQL Server 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. 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 Version 1.0 50 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit 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. 14) • Connexion à votre base de données cible (p. 12) 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. Pour vous connecter à une base de données source MySQL 1. Dans AWS Schema Conversion Tool, choisissez Connect to MySQL. Version 1.0 51 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source 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. Version 1.0 52 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source MySQL 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 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. 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. Version 1.0 53 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. 14) • Connexion à votre base de données cible (p. 12) 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. Version 1.0 54 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. 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. 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. 14) • Connexion à votre base de données cible (p. 12) 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. Version 1.0 55 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source 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 : Version 1.0 56 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Oracle Pour ce paramètre Procédez comme suit • 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 : 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. Version 1.0 57 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit 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. 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. 14) • Connexion à votre base de données cible (p. 12) 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. Version 1.0 58 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source d'entrepôt de données Oracle 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 : Version 1.0 59 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 • 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 : 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. Version 1.0 60 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit 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. 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. 14) • Connexion à votre base de données cible (p. 12) 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. Version 1.0 61 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source 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. Version 1.0 62 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Pour ce paramètre Procédez comme suit 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. 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. 14) • Connexion à votre base de données cible (p. 12) Version 1.0 63 AWS Schema Conversion Tool Guide de l'utilisateur Connexion à une base de données source Teradata 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 64 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. 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. 14) • Connexion à votre base de données cible (p. 12) Version 1.0 65 AWS Schema Conversion Tool Guide de l'utilisateur 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. 83). 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 Version 1.0 66 AWS Schema Conversion Tool Guide de l'utilisateur 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. 10). 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. 68). • 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. 70). • 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. 74). • 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. 78). • 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. 79). • 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. 80). Version 1.0 67 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage 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. 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. Version 1.0 68 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage pour des objets 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. 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 Version 1.0 69 AWS Schema Conversion Tool Guide de l'utilisateur Exportation des règles de mappage 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. Version 1.0 70 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schémas 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 71 AWS Schema Conversion Tool Guide de l'utilisateur Modification du schéma converti 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. 79). 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. 74). 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. 81). Modification du schéma converti Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet. Version 1.0 72 AWS Schema Conversion Tool Guide de l'utilisateur Suppression d'un schéma converti Pour modifier le schéma converti 1. 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. 2. 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. 3. 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. Version 1.0 73 AWS Schema Conversion Tool Guide de l'utilisateur Création et utilisation du rapport d'évaluation 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 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. Version 1.0 74 AWS Schema Conversion Tool Guide de l'utilisateur Création d'un rapport d'évaluation de migration de la base de données 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é. Version 1.0 75 AWS Schema Conversion Tool Guide de l'utilisateur Eléments d'action 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. Version 1.0 76 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement du rapport d'évaluation 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. 78). 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. Version 1.0 77 AWS Schema Conversion Tool Guide de l'utilisateur Gestion des conversions manuelles 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. Version 1.0 78 AWS Schema Conversion Tool Guide de l'utilisateur Modification de votre schéma source 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. 80). 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. Rubriques connexes • Conversion de votre schéma en utilisant AWS Schema Conversion Tool (p. 70) • Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 74) • Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 79) 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. Version 1.0 79 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement et application de votre schéma • 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. 70)), 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 Version 1.0 80 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement de votre schéma converti en un fichier 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. 74). 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. 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. Version 1.0 81 AWS Schema Conversion Tool Guide de l'utilisateur Schéma du kit d'extension 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. 111). Version 1.0 82 AWS Schema Conversion Tool Guide de l'utilisateur 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. 66). 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. Version 1.0 83 AWS Schema Conversion Tool Guide de l'utilisateur 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. 10). 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. 85). • 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. Pour plus d'informations, consultez Collecte ou chargement des statistiques pour AWS Schema Conversion Tool (p. 86). • 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. 88). • 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. 90). • 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. 94). • 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. 95). • 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 Version 1.0 84 AWS Schema Conversion Tool Guide de l'utilisateur Choix des règles et des stratégies d'optimisation 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. 99). • 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. 100). • 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. 101). 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. 86). • 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. Version 1.0 85 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 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 de plus amples informations, veuillez consulter Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 94). 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. 12). 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. Version 1.0 86 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 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 de plus amples informations, veuillez consulter Gestion et personnalisation des clés dans AWS Schema Conversion Tool (p. 94). Rubriques connexes • Choix des stratégies d'optimisation et des règles à utiliser avec AWS Schema Conversion Tool (p. 85) • Choix de la meilleure clé de tri • Choisir le meilleur style de distribution Version 1.0 87 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage 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. 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. Version 1.0 88 AWS Schema Conversion Tool Guide de l'utilisateur Création de règles de mappage pour des objets 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. 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 Version 1.0 89 AWS Schema Conversion Tool Guide de l'utilisateur Exportation des règles de mappage 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. Version 1.0 90 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schémas 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 91 AWS Schema Conversion Tool Guide de l'utilisateur Modification du schéma converti 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. 100). 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. 95). 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. 102). Modification du schéma converti Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet. Version 1.0 92 AWS Schema Conversion Tool Guide de l'utilisateur Suppression d'un schéma converti Pour modifier le schéma converti 1. 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. 2. 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. 3. 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. Version 1.0 93 AWS Schema Conversion Tool Guide de l'utilisateur Gestion et personnalisation des clés 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 94 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 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. 85). 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. Version 1.0 95 AWS Schema Conversion Tool Guide de l'utilisateur Création d'un rapport d'évaluation de migration de la base de données 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é. Version 1.0 96 AWS Schema Conversion Tool Guide de l'utilisateur Eléments d'action 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. 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. 99). Version 1.0 97 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement du rapport d'évaluation 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. Version 1.0 98 AWS Schema Conversion Tool Guide de l'utilisateur Gestion des conversions manuelles 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. Version 1.0 99 AWS Schema Conversion Tool Guide de l'utilisateur Modification de votre schéma source 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. 101). 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 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. 90) • Création et utilisation du rapport d'évaluation dans AWS Schema Conversion Tool (p. 95) • Mise à jour et actualisation de votre schéma converti dans AWS Schema Conversion Tool (p. 100) 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. Version 1.0 100 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement et application de votre schéma • 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. 90)), 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 Version 1.0 101 AWS Schema Conversion Tool Guide de l'utilisateur Enregistrement de votre schéma converti en un fichier l'aide de cette fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas être convertis 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. 95). 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. Version 1.0 102 AWS Schema Conversion Tool Guide de l'utilisateur Schéma du kit d'extension 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. 113). Version 1.0 103 AWS Schema Conversion Tool Guide de l'utilisateur Bibliothèques Python 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. 113). Version 1.0 104 AWS Schema Conversion Tool Guide de l'utilisateur Avant de commencer 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. 11). 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. 44). 3. Connectez-vous à votre base de données cible. Pour plus d'informations, consultez Connexion à votre base de données cible (p. 12). 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. 85). Version 1.0 105 AWS Schema Conversion Tool Guide de l'utilisateur Optimisation de la base de données Amazon Redshift 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. 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. Version 1.0 106 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 5. Vous pouvez créer un rapport contenant les suggestions d'optimisation. Pour créer le rapport, procédez comme suit : a. b. 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. c. 6. 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. 83) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 107 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. 10). 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. 66). 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 108 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. 123). 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. Sous Task name, entrez un nom pour votre tâche. 3. 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. 5. 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. 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. 6. 7. 8. 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. 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. 3. Lors de l'exécution d'une tâche, vous pouvez choisir les actions suivantes : • Choisissez Stop pour arrêter une tâche. Version 1.0 109 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes • Choisissez Resume pour reprendre une tâche. 4. 5. 6. Choisissez Delete pour supprimer une tâche. 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. 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 110 AWS Schema Conversion Tool Guide de l'utilisateur Kit d'extension et services AWS pour bases de données Utilisation du kit d'extension AWS Schema Conversion Tool Vous trouverez ci-après des informations sur le kit d'extension AWS Schema Conversion Tool. Topics • Kit d'extension AWS Schema Conversion Tool et services AWS pour bases de données (p. 111) • Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 113) 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. Version 1.0 111 AWS Schema Conversion Tool Guide de l'utilisateur Utilisation de 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. 10). 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. 66). 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. Version 1.0 112 AWS Schema Conversion Tool Guide de l'utilisateur Kit d'extension et bibliothèques Python pour entrepôts de données 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. Choisissez Navigate to Project Settings pour associer un autre profil au projet, si nécessaire. Choisissez Global Settings pour créer un profil, si nécessaire. Pour plus d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 123). 4. Dans la page Email Sending 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. 5. 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. 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 : Version 1.0 113 AWS Schema Conversion Tool Guide de l'utilisateur Utilisation de services AWS pour télécharger des bibliothèques Python personnalisées • 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. 10). 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. 83). Application du kit d'extension Utilisez la procédure suivante pour appliquer le kit d'extension. 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. Version 1.0 114 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes 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. 4. • 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. Choisissez Navigate to Project Settings pour associer un autre profil au projet, si nécessaire. Choisissez Global Settings pour créer un profil, si nécessaire. Pour plus d'informations, consultez Stockage de profils AWS dans AWS Schema Conversion Tool (p. 123). 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. 5. 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 115 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. 10). 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. 66) Version 1.0 116 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. 83) 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. 117). • 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. 120). • 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. 121). • 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. 122). 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. Version 1.0 117 AWS Schema Conversion Tool Guide de l'utilisateur Création de projets de conversion d'applications La boîte de dialogue New application conversion project s'affiche. 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 Version 1.0 118 AWS Schema Conversion Tool Guide de l'utilisateur Création de projets de conversion d'applications Pour ce paramètre Procédez comme suit • C++ • C# • Tous 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 3. Dans l'arborescence source, sélectionnez le schéma utilisé par votre code d'application. Choisissez OK pour créer votre projet de conversion d'application. La fenêtre de projet s'ouvre. 4. 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. Version 1.0 119 AWS Schema Conversion Tool Guide de l'utilisateur Analyse et conversion de votre code SQL 5. 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. 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. Version 1.0 120 AWS Schema Conversion Tool Guide de l'utilisateur Création et utilisation du rapport d'évaluation 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. Le rapport est créé et s'affiche dans la fenêtre de projet de conversion d'application. 2. 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é. Version 1.0 121 AWS Schema Conversion Tool Guide de l'utilisateur Modification et enregistrement de votre code SQL converti 3. 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. 122). 4. 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. 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 122 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. Ouvrez le menu Settings, puis choisissez Global Settings. La boîte de dialogue Global settings s'affiche avec l'onglet AWS Service Profiles sélectionné. 2. Choisissez Add new AWS Service Profile. Une nouvelle ligne est ajoutée à la liste de profils. 3. Choisissez l'icône de modification pour configurer votre profil. 4. a. Sous Profile name, entrez un nom pour le profil. b. Sous AWS Access Key, entrez votre clé d'accès AWS. c. Sous AWS Secret Key, entrez votre clé secrète AWS. d. Sous Region, choisissez une région pour le profil. Une fois que vous avez configuré votre profil, choisissez Save pour l'enregistrer. Vous pouvez également choisir Cancel pour annuler vos modifications. Version 1.0 123 AWS Schema Conversion Tool Guide de l'utilisateur Définition du profil par défaut pour un projet 5. Choisissez Close pour fermer la boîte de dialogue Global Settings. 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. Ouvrez le menu Settings, puis choisissez Project Settings. La boîte de dialogue Current project settings s'affiche. 2. Choisissez l'onglet Project Environment. 3. 4. Sous AWS Service Profile, choisissez le profil que vous souhaitez associer au projet. 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. 111) • Kit d'extension AWS Schema Conversion Tool et bibliothèques Python pour entrepôts de données (p. 113) • Utilisation d'AWS Database Migration Service avec AWS Schema Conversion Tool (p. 108) Version 1.0 124 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 125 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. 10) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 126 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 127 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. 10) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 128 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. 10) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 129 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. 205) • Conversion de schéma prise en charge d'Oracle vers MySQL (p. 236) • Conversion de schéma prise en charge d'Oracle vers PostgreSQL (p. 266) • Conversion de schéma prise en charge de PostgreSQL vers MySQL (p. 205) • Conversion de schéma prise en charge de Microsoft SQL Server vers MySQL (p. 130) • Conversion de schéma prise en charge de Microsoft SQL Server vers PostgreSQL (p. 150) 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. 131) • Procédures (p. 134) • Contrôle de flux (p. 135) • Fonctions (p. 135) • Opérateurs (p. 143) • Transactions (p. 145) • Types de données (p. 146) • Langage de définition de données (DDL) (p. 148) • Curseurs (p. 149) Version 1.0 130 AWS Schema Conversion Tool Guide de l'utilisateur Instructions • Rubriques connexes (p. 150) Instructions Topics • SELECT (p. 131) • INSERT (p. 132) • UPDATE (p. 132) • DELETE (p. 133) SELECT Clause Conversion Détails automatique WITH Non UNION Oui EXCEPT | INTERSECT Non ALL | DISTINCT Oui TOP Partielle <select_list> Oui INTO Non DE Partielle WHERE Oui GROUP BY Partielle HAVING Oui ORDER BY Partielle Essayez de convertir l'expression WITH(query) en sousrequête et utilisez-la dans une requête SELECT. 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 131 AWS Schema Conversion Tool Guide de l'utilisateur Instructions INSERT Clause Conversion Détails automatique WITH Non 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 Essayez de convertir la requête WITH en sous-requête, puis utilisez cette dernière dans la requête INSERT. 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 Détails automatique 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 132 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion Détails automatique 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. DE 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 Détails automatique 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 DE 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 Version 1.0 133 AWS Schema Conversion Tool Guide de l'utilisateur Procédures Clause Conversion Détails automatique une table temporaire. Après l'opération DELETE, vous pouvez 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 Topics • CREATE PROCEDURE (p. 134) CREATE PROCEDURE Clause Conversion Détails automatique @paramètre Oui VARYING Partielle 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. OUT OUTPUT Partielle READONLY Partielle WITH Non FOR REPLICATION Non AS BEGIN … END Non ENCRYPTION Oui RECOMPILE Non EXECUTE AS Non Version 1.0 134 AWS Schema Conversion Tool Guide de l'utilisateur Contrôle de flux Contrôle de flux Clause Conversion Détails automatique 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 Topics • Fonctions d'agrégation (p. 136) • Fonctions de date et d'heure (p. 136) • Fonctions mathématiques (p. 137) • Fonctions de chaîne (p. 138) • Fonctions de configuration (p. 139) • Fonctions de conversion (p. 139) • Fonctions de sécurité (p. 140) • Fonctions système (p. 140) • Fonctions logiques (p. 142) • CREATE FUNCTION (p. 142) • EXECUTE (p. 142) 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 135 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions d'agrégation Fonction Conversion Détails automatique 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 Détails automatique 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 GETDATE + 1 Partielle Version 1.0 136 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique GETUTCDATE Partielle MONTH Partielle YEAR Partielle DATETIMEOFFSETFROMPARTS Non ISDATE Non SWITCHOFFSET Non SYSDATETIMEOFFSET Non TODATETIMEOFFSET Non Fonctions mathématiques Fonction Conversion Détails 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 ROUND Partielle SIGN Oui MySQL ne prend pas en charge la fonction ROUND avec l'argument de fonction. Version 1.0 137 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique SIN Oui SQRT Oui SQUARE Non TAN Oui Fonctions de chaîne Fonction Conversion Détails 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 STR Non STUFF Non SUBSTRING Oui Version 1.0 138 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique UNICODE Non UPPER Oui Fonctions de configuration Fonction Conversion Détails 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 Fonctions de conversion Fonction Conversion Détails automatique CAST et CONVERT Non PARSE Non TRY_CAST Non TRY_CONVERT Non TRY_PARSE Non Version 1.0 139 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions de sécurité Fonction Conversion Détails 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 Fonctions système Fonction Conversion Détails automatique $PARTITION Oui Version 1.0 140 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique @@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 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 141 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions logiques Fonction Conversion Détails automatique CHOOSE Non IIF Non CREATE FUNCTION Clause Conversion Détails automatique @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. EXECUTE Clause Conversion Détails automatique @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. Version 1.0 142 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs Topics • Opérateurs arithmétiques (p. 143) • Opérateur d'affectation (p. 143) • Opérateurs au niveau du bit (p. 143) • Opérateurs de comparaison (p. 144) • Opérateurs logiques (p. 144) • Opérateurs d'ensembles (p. 144) • Opérateur de concaténation de chaînes (p. 145) • Opérateurs unaires (p. 145) Opérateurs arithmétiques Clause Conversion Détails automatique + Oui += Oui – Oui -= Oui * Oui *= Oui / Oui /= Oui % Oui Opérateur d'affectation Clause Conversion Détails automatique = Oui Opérateurs au niveau du bit Clause Conversion Détails automatique & Oui | Oui ^ Oui ~ Oui Version 1.0 143 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs de comparaison Clause Conversion Détails automatique = Oui > Oui < Oui >= Oui <= Oui <> Oui != Oui !< Oui !> Oui Opérateurs logiques Clause Conversion Détails automatique ALL Oui AND Oui ANY Oui BETWEEN Oui EXISTS Oui IN Oui LIKE Oui NOT Oui OR Oui SOME Partielle AWS Schema Conversion Tool convertit SOME en ANY. Opérateurs d'ensembles Clause Conversion Détails automatique UNION Oui UNION ALL Oui EXCEPT Non Procédez à une conversion manuelle. Version 1.0 144 AWS Schema Conversion Tool Guide de l'utilisateur Transactions Clause Conversion Détails automatique INTERSECT Non Procédez à une conversion manuelle. Opérateur de concaténation de chaînes Clause Conversion Détails automatique + Oui Opérateurs unaires Clause Conversion Détails automatique + Oui – Oui Transactions Topics • BEGIN TRANSACTION (p. 145) BEGIN TRANSACTION Clause Conversion Détails automatique 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 ROLLBACK Partielle transaction_name Non savepoint_name Partielle MySQL ne prend pas en charge les transactions nommées. Corrigez votre code de façon à éliminer les transactions nommées. Version 1.0 145 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion Détails automatique COMMIT Partielle DELAYED_DURABILITY Non Types de données Topics • Valeurs numériques (p. 146) • Date et heure (p. 146) • Chaînes de caractères (p. 147) • Chaînes binaires (p. 147) • Types spéciaux (p. 148) Valeurs numériques Type de données Conversion automatique Conversion par défaut Détails 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 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 Date et heure Version 1.0 146 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Conversion automatique Conversion par défaut Détails 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 sql_variant Non table Non uniqueidentifier Non xml Non geography Non len = 1 à 255 symboles (2 ^ 8-1) (plage de perte) Chaînes binaires Version 1.0 147 Détails AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Type de données Conversion automatique 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) Topics • CREATE TABLE (p. 148) • CREATE INDEX (p. 148) • CREATE TRIGGER (p. 148) • CREATE VIEW (p. 149) CREATE TABLE Les instructions CREATE TABLE sont converties automatiquement sauf pour la clause suivante. Clause Conversion Détails automatique 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. CREATE TRIGGER Les instructions CREATE TRIGGER sont converties automatiquement sauf pour la clause suivante. Clause Conversion Détails automatique FOR Non MySQL ne prend pas en charge une clause FOR dans une instruction CREATE TRIGGER. Version 1.0 148 AWS Schema Conversion Tool Guide de l'utilisateur Curseurs CREATE VIEW Les instructions CREATE VIEW sont converties automatiquement sauf pour les clauses suivantes. Clause Conversion Détails automatique 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 Topics • DECLARE CURSOR (p. 149) DECLARE CURSOR Clause Conversion Détails automatique 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. 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 Version 1.0 149 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Clause Conversion Détails automatique 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. 10) • 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. Langage de définition de données (DDL) Dénomination d'objets Clause Conversion Détails automatique Schémas Oui Tables, colonnes Oui Instructions Clause Conversion Détails automatique ALTER INDEX Non ALTER PROCEDURE Non Version 1.0 150 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion Détails automatique 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 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 Détails automatique ADD Oui ALTER COLUMN Non DROP COLUMN Non DROP CONSTRAINT Non ENABLE/DISABLE TRIGGER Oui CREATE INDEX Clause Conversion Détails automatique Option CLUSTER Partielle Index COLUMNSTORE Partielle Clause INCLUDE Partielle Autres options INDEX Partielle Index SPATIAL Partielle Option UNIQUE Oui Index XML Partielle Version 1.0 151 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) CREATE TABLE Clause Conversion Détails automatique Tables partitionnées Oui Tables standard Oui Tables temporaires Partielle Tables larges Oui CREATE TRIGGER Clause Conversion Détails 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 CREATE VIEW Clause Conversion Détails automatique CREATE VIEW Oui Vues actualisables Oui VIEW Oui Instructions DROP Clause Conversion Détails automatique DROP TABLE Oui DROP VIEW Oui Autres types d'objets Oui Version 1.0 152 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Langage de manipulation de données (DML) Clause pour les instructions Clause Conversion Détails automatique Indicateurs de jointure Non Indicateurs de requête Non Indicateur de table Non WHERE Oui Jointures Jointures croisées Clause Conversion Détails automatique Jointure croisée Oui Jointure croisée avec condition Oui Jointures internes Clause Conversion Détails automatique Jointures internes Oui Jointures externes Clause Conversion Détails automatique Jointure complète Oui Jointure externe complète Oui Jointure gauche Oui Jointure externe gauche Oui Jointure droite Oui Jointure externe droite Oui Version 1.0 153 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Prédicats pour instructions Clause Conversion Détails automatique Conditions booléennes Oui Conditions Exists Oui Conditions In Oui Conditions Null Oui Conditions de correspondance de modèles Oui Conditions de plage Oui Conditions de comparaison Clause Conversion Détails automatique =, <>, <, <=, >, >= Oui ANY, SOME, ALL Partielle Instructions DELETE Clause Conversion Détails automatique CURRENT OF Oui FROM Partielle OUTPUT Partielle TOP Non VALUES Oui WITH Oui INSERT Clause Conversion Détails automatique DEFAULT Oui DEFAULT VALUES Oui FROM Oui Version 1.0 154 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Clause Conversion Détails automatique INTO Oui OUTPUT Non TOP Non VALUES Oui WITH Oui SELECT Clause Conversion Détails 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 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 Version 1.0 155 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) Clause Conversion Détails automatique 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 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 Version 1.0 156 AWS Schema Conversion Tool Guide de l'utilisateur Langage de manipulation de données (DML) DISTINCT Clause Conversion Détails automatique DISTINCT Oui FROM Clause Conversion Détails automatique FROM Oui GROUP BY Clause Conversion Détails automatique GROUP BY Oui HAVING Clause Conversion Détails automatique HAVING Oui ORDER BY Clause Conversion Détails automatique ORDER BY Oui TOP Clause Conversion Détails automatique TOP Oui WHERE Clause Conversion Détails automatique WHERE Oui Version 1.0 157 AWS Schema Conversion Tool Guide de l'utilisateur Types de données UPDATE Clause Conversion Détails automatique CURRENT OF Oui DEFAULT Oui Données FILESTREAM Non FROM Oui OUTPUT Partielle TOP Non VALUES Oui WITH Oui Types de données Clause Conversion Détails automatique BIGINT Oui BINARY Oui BIT Oui CHAR, CHARACTER Oui DATETIME Oui DATETIMEOFFSET Non DEC, DECIMAL Oui DOUBLE PRECISION Oui FLOAT Oui GEOGRAPHY Non GEOMETRY Non HIERARCHYID Non IDENTITY Non INT, INTEGER Oui MONEY Oui NCHAR Oui NTEXT Oui NUMERIC Oui Version 1.0 158 AWS Schema Conversion Tool Guide de l'utilisateur Messagerie de base de données Clause Conversion Détails automatique 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 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. Messagerie de base de données Clause Conversion Détails 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 Version 1.0 159 AWS Schema Conversion Tool Guide de l'utilisateur Messagerie de base de données Clause Conversion Détails automatique sp_send_dbmail Non sysmail_add_account_sp Non sysmail_add_principalprofile_sp Non sysmail_add_profile_sp Non sysmail_add_profileaccount_sp Non sysmail_allitems Non sysmail_configure_sp Non sysmail_delete_account_sp Non sysmail_delete_log_sp Non sysmail_delete_mailitems_spNon 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_sp Non sysmail_help_queue_sp Non 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 Version 1.0 160 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 Détails 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 @@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 Version 1.0 161 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique @@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 Agrégation Clause Conversion Détails automatique AVG Partielle CHECKSUM_AGG Non COUNT Oui COUNT_BIG Oui GROUPING Non GROUPING_ID Non MAX Oui MIN Oui STDEV Oui STDEVP Oui SUM Oui VAR Oui VARP Oui Version 1.0 162 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions intégrées Clause Conversion Détails 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 Conversion Clause Conversion Détails automatique CAST Partielle CONVERT Partielle PARSE Non TRY_CAST Non TRY_CONVERT Non TRY_PARSE Non Date et heure Clause Conversion Détails automatique CURRENT_TIMESTAMP Partielle DATEADD Partielle DATEDIFF Partielle DATEFROMPARTS Oui DATENAME Partielle DATEPART Partielle DATETIME2FROMPARTS Partielle DATETIMEFROMPARTS Partielle Version 1.0 163 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 Détails automatique ABS() Oui ACOS() Oui ASIN() Oui ATAN() Oui ATN2 () Oui CEILING() Oui COS() Oui COT() Oui DEGREES() Oui EXP() Oui FLOOR() Oui LOG() Oui Version 1.0 164 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 Fonctions de classement Clause Conversion Détails automatique DENSE_RANK Oui NTILE Oui RANK Oui ROW_NUMBER Oui Fonctions d'ensembles de lignes Clause Conversion Détails automatique CONTAINSTABLE Non FREETEXTTABLE Non OPENDATASOURCE Non OPENQUERY Non OPENROWSET Non OPENXML Non Version 1.0 165 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonctions scalaires Clause Conversion Détails 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 CURRENT_USER Non DATABASE_PRINCIPAL_ID Non DATEADD Partielle DATEDIFF Partielle DATEFROMPARTS Oui DATENAME Partielle DATEPART Partielle DATETIME2FROMPARTS Oui DATETIMEFROMPARTS Oui DATETIMEOFFSETFROMPARTS Non Version 1.0 166 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 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 Version 1.0 167 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 SCHEMA_NAME Non SESSION_USER Non SIGN() Oui SIN() Oui SMALLDATETIMEFROMPARTS Oui SOUNDEX Oui SPACE Oui SQRT() Oui SQUARE() Oui STDEV Oui STDEVP Oui Version 1.0 168 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 Chaîne Clause Conversion Détails automatique ASCII Oui CHAR Oui CHARINDEX Oui CONCAT Oui DIFFERENCE Non FORMAT Non LEFT Oui LEN Oui LOWER Oui LTRIM Oui NCHAR Non Version 1.0 169 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Clause Conversion Détails automatique 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 Opérateurs Opérateurs arithmétiques Clause Conversion Détails automatique - (Soustraction) Partielle % (Modulo) Partielle * (Multiplication) Partielle / (Division) Partielle + (Addition) Partielle Opérateur d'affectation Clause Conversion Détails automatique = Oui Version 1.0 170 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs au niveau du bit Clause Conversion Détails automatique & (Opération AND au niveau du bit) Oui ^ (Opération OR exclusive au niveau du bit) Non | (Opération OR au niveau du bit) Oui Opérateurs de comparaison Clause Conversion Détails automatique Opérateurs de comparaison Partielle Opérateurs logiques Clause Conversion Détails automatique Opérateurs logiques Oui Opérateurs d'ensembles Clause Conversion Détails automatique EXCEPT Oui INTERSECT Oui UNION Oui UNION ALL Oui Opérateur de concaténation de chaînes Clause Conversion Détails automatique Opérateur de concaténation de chaînes Oui Version 1.0 171 AWS Schema Conversion Tool Guide de l'utilisateur Autre Opérateurs unaires Clause Conversion Détails automatique Opérateurs unaires Oui Autre Clause Conversion Détails 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 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 Version 1.0 172 AWS Schema Conversion Tool Guide de l'utilisateur Service Broker Service Broker Clause Conversion Détails 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 GET Non TRANSMISSION_STATUS 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 sys.dm_broker_activated_tasks Non sys.dm_broker_connections Non sys.dm_broker_forwarded_messages Non Version 1.0 173 AWS Schema Conversion Tool Guide de l'utilisateur SQL Server Agent Clause Conversion Détails automatique sys.dm_broker_queue_monitors Non sys.message_type_xml_schema_collection_usages Non sys.remote_service_bindingsNon sys.routes Non sys.service_contract_message_usages Non sys.service_contract_usagesNon 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 SQL Server Agent Clause Conversion Détails 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 sp_add_targetsvrgrp_memberNon sp_apply_job_to_targets Non sp_attach_schedule Non sp_cycle_agent_errorlog Non Version 1.0 174 AWS Schema Conversion Tool Guide de l'utilisateur SQL Server Agent Clause Conversion Détails automatique 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 sp_delete_targetsvrgrp_member Non sp_detach_schedule Non sp_enum_login_for_proxy Non sp_enum_proxy_for_subsystem Non 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 Version 1.0 175 AWS Schema Conversion Tool Guide de l'utilisateur SQL Server Agent Clause Conversion Détails automatique 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 sp_notify_operator Non sp_post_msx_operation Non sp_purge_jobhistory Non sp_remove_job_from_targetssNon 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 Version 1.0 176 AWS Schema Conversion Tool Guide de l'utilisateur Sauvegarde SQL Server Clause Conversion Détails automatique sp_update_targetservergroupNon Sauvegarde SQL Server Clause Conversion Détails automatique BACKUP Non BACKUP CERTIFICATE Non BACKUP MASTER KEY Non BACKUP SERVICE MASTER KEY Non RESTORE Non RESTORE FILELISTONLY Non RESTORE HEADERONLY Non RESTORE LABELONLY Non RESTORE MASTER KEY Non RESTORE REWINDONLY Non RESTORE SERVICE MASTER KEY Non RESTORE VERIFYONLY Non T-SQL BACKUP et RESTORE Clause Conversion Détails automatique Instructions BACKUP et RESTORE Non Classement (Collation) Clause Conversion Détails automatique Collation Non Version 1.0 177 AWS Schema Conversion Tool Guide de l'utilisateur T-SQL Langage de contrôle de flux Clause Conversion Détails automatique BEGIN...END Oui BREAK Oui CONTINUE Oui GOTO Non IF...ELSE Oui RETURN Oui THROW Oui TRY...CATCH Oui WAITFOR Partielle WHILE Oui Curseurs DECLARE CURSOR Clause Conversion Détails automatique DECLARE CURSOR Oui CURSOR avec option GLOBAL Non CURSOR avec options FORWARD_ONLY ou SCROLL Non FETCH Clause Conversion Détails automatique FETCH Oui OPEN Clause Conversion Détails automatique OPEN Oui Version 1.0 178 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 Instructions DUMP et LOAD Clause Conversion Détails automatique Instructions DUMP et LOAD Non 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. Opérateurs arithmétiques Elément Problème Résolution Opérateurs arithmétiques Problème 7775 : Vérifier la conversion de Convertissez les valeurs types de données pour une perte possible de dans le type souhaité. précision (p. 188) 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. 188) 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. 189) 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. 189) 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. 189) 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. 189) 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. 189) Essayez d'utiliser le service de stockage Amazon Glacier. Version 1.0 179 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 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. 190) 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. 190) 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. 190) Vérifiez la valeur par défaut d'une variable DateTime. GOTO Problème 7628 : PostgreSQL ne prend pas en charge l'option GOTO. Impossible d'effectuer la conversion automatique. (p. 190) 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. 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. 190) 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. 190) Examinez votre code transformé et modifiez-le, si nécessaire. WAITFOR DELAY Problème 7821 : L'opérateur de conversion Procédez à une conversion automatique WAITFOR assorti d'une variable manuelle. n'est pas pris en charge (p. 190) WAITFOR TIME Problème 7691 : PostgreSQL ne prend pas en charge la fonction WAITFOR TIME (p. 191) 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. 191) Examinez l'objet %s. Problème 7813 : Objets chiffrés (p. 191) Déchiffrez l'objet avant la conversion. CREATE Elément Objets chiffrés Version 1.0 180 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 CURSORS 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. 191) 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. 191) 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. 191) Utilisez cursors sans cette option. FOR UPDATE Problème 7803 : PostgreSQL ne prenant pas en charge l'option FOR UPDATE, cette option est ignorée (p. 191) 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. 192) 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. 192) Utilisez cursors sans cette option. Option READ_ONLY Problème 7702 : Tous les curseurs PostgreSQL étant en lecture seule, cette option est ignorée (p. 192) Utilisez cursors sans cette option. Option TYPE_WARNING Problème 7705 : PostgreSQL ne prenant pas en charge l'option TYPE_WARNING, cette option est ignorée (p. 192) 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. 192) Procédez à une conversion manuelle. geography Problème 7662 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. (p. 192) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. Version 1.0 181 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 geometry Problème 7664 : PostgreSQL ne prend pas en charge ce type. Une conversion manuelle est nécessaire. (p. 192) 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. 192) 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. 192) 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. 193) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. 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. 193) Procédez à une conversion manuelle. UDT Problème 7690 : PostgreSQL ne prend pas en charge les types de table (p. 193) 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. 193) 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. 193) Procédez à une conversion manuelle. Elément Problème Résolution CREATE INDEX Problème 7675 : PostgreSQL ne prend pas en charge les options de tri (ASC | DESC) pour les contraintes (p. 194) Utilisez des index sans cette option. CREATE INDEX Problème 7681 : PostgreSQL ne prend pas en charge les index organisés en cluster (p. 194) 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. 194) Utilisez l'index sans cette option. DDL Version 1.0 182 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 7781 : PostgreSQL ne prend pas en charge l'option PAD_INDEX dans les index (p. 194) 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. 194) 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. 194) 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. 194) 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. 194) 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. 194) Utilisez l'index sans cette option. CREATE INDEX Problème 7787 : PostgreSQL ne prend pas en charge l'option ONLINE dans les index (p. 194) 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. 194) 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. 195) Utilisez l'index sans cette option. CREATE INDEX Problème 7790 : PostgreSQL ne prend pas en charge l'option MAXDOP dans les index (p. 195) 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. 195) Utilisez l'index sans cette option. CREATE TABLE Problème 7679 : PostgreSQL ne prend pas en charge les colonnes calculées (p. 195) Essayez d'utiliser un déclencheur. CREATE TABLE Problème 7680 : PostgreSQL ne prend pas en charge les tables temporaires globales (p. 195) 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. 195) Examinez votre code transformé et modifiez-le, si nécessaire. Version 1.0 183 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 TABLE Problème 7825 : La valeur par défaut d'une colonne DateTime a été supprimée (p. 195) 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. 195) 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. 195) 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. 196) Procédez à une conversion manuelle. 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. 196) 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. 196) 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. 197) 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. 197) 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. 197) Utilisez la commande EXECUTE sans cette option. EXECUTE avec des options d'exécution Problème 7643 : La commande EXECUTE assortie de l'option RESULT SETS Utilisez la commande EXECUTE sans cette option. DELETE DML, FROM EXECUTE Elément Version 1.0 184 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 [RESULT SETS <définition du jeu de résultats > est (<result_sets_definition>)] ignorée (p. 197) 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. 197) 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. 197) 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. 197) Procédez à une conversion manuelle. TOP Problème 7799 : PostgreSQL ne prend pas en charge l'option TOP dans l'opérateur INSERT (p. 197) Procédez à une conversion manuelle. 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. 198) 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. 198) 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. 198) Procédez à une conversion manuelle. INSERT Opérateurs Parser Error (erreur d'analyse) Elément Problème Résolution Parser Error Problème 7663 : Impossible de résoudre l'objet (p. 199) 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. Version 1.0 185 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 SELECT 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. 199) 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. 199) 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. 199) 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. 199) 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. 199) Procédez à une conversion manuelle. condition de recherche Problème 7688 : PostgreSQL ne prend pas en charge le prédicat FREETEXT (p. 199) Procédez à une conversion manuelle. condition de recherche Problème 7795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison des chaînes. (p. 199) Vérifiez la comparaison des chaînes. TOP WITH TIES Problème 7605 : PostgreSQL ne prend pas en charge l'option WITH TIES (p. 200) 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. 200) 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. 200) 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 SEQUENCE SYNONYMS Version 1.0 186 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 de données qui dépend d'une table ou d'une vue dans une autre base de données. Objets SYS Elément Problème Résolution Objets SYS Problème 7904 : Impossible de convertir l'objet système <nom d'objet> (p. 200) Procédez à une conversion manuelle. 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. 201) Procédez à une conversion manuelle. 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. 201) Procédez à une conversion manuelle. TRIGGERS 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. 202) 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. 202) Procédez à une conversion manuelle. SQL non analysé Question 7808 : SQL non analysé (p. 202) 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. 203) Procédez à une conversion manuelle. UPDATE Version 1.0 187 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 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. 203) 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. 204) Procédez à une conversion manuelle. 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. 205) Procédez à une conversion manuelle. 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; Version 1.0 188 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 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) Version 1.0 189 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. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des fonctions intégrées SQL (BUILTIN 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 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';. Version 1.0 190 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 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 191 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 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 192 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 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) ) 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 193 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 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. 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. Version 1.0 194 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 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. 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 195 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 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 Version 1.0 196 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 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. 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 Version 1.0 197 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 ,sname ,name ,typeid ,taxcode ,stateid ,opendate ,closedate )select id+1000 ,name ,name ,4 ,61+id ,1 ,getdate() ,null from 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 198 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 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. Version 1.0 199 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 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) Version 1.0 200 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. 130) • 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. 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de 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 Version 1.0 201 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 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; $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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 202 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 Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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) 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 Version 1.0 203 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 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, 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 bank SET @AccountBalance = 500 FROM bank Version 1.0 204 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge de MySQL vers PostgreSQL WHERE id = 50005; END Rubriques connexes • Informations de référence sur les problèmes de conversion de Microsoft SQL Server vers PostgreSQL (p. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 179) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 Détails automatique ADD CONSTRAINT Oui Version 1.0 205 AWS Schema Conversion Tool Guide de l'utilisateur DDL Clause Conversion Détails automatique ADD INDEX Oui Instructions Create CREATE INDEX Clause Conversion Détails automatique INDEX Oui Index UNIQUE Oui CREATE PROCEDURE Clause Conversion Détails automatique PARAMETRES : IN, OUT, INOUT Oui Avec des paramètres de sortie Oui Sans paramètres de sortie Oui CREATE TABLE Clause Conversion Détails automatique Tables standard Oui Tables temporaires Oui CREATE TRIGGER Clause Conversion Détails automatique Déclencheurs FOR EACH ROW Oui Evénement déclencheur (Insert/Update/Delete) Oui Temps de déclenchement (Before/After) Oui Version 1.0 206 AWS Schema Conversion Tool Guide de l'utilisateur DML CREATE VIEW Clause Conversion Détails automatique Avec l'OPTION ALGORITHM Partielle Avec l'OPTION CHECK Oui Problème 8824 : L'option ALGORITHM n'est pas pris en charge (p. 236) Dénomination d'objets Clause Conversion Détails automatique Schémas Oui Tables, colonnes Oui DML Clauses FROM Clause Conversion Détails automatique CROSS JOIN Oui 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 Oui JOIN RIGHT JOIN Oui RIGHT OUTER JOIN Oui STRAIGHT_JOIN Oui Version 1.0 207 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique Sous-requêtes dans la clause FROM Oui tables_list Oui Instructions DELETE Clause Conversion Détails automatique IGNORE Partielle LIMIT Oui LOW_PRIORITY Partielle Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 232) Syntaxe à plusieurs tables Partielle Problème 8834 : PostgreSQL ne peut pas effectuer une suppression à partir de plusieurs tables en même temps (p. 232) 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. 232) ORDER BY Oui QUICK Partielle Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 232) Problème 8832 : PostgreSQL n'a pas une option similaire à QUICK pour les instructions DML (p. 232) INSERT Clause Conversion Détails automatique IGNORE Partielle Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 232) LOW_PRIORITY | DELAYED | HIGH_PRIORITY Partielle Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 232) ON DUPLICATE KEY UPDATE Non Problème 8829 : PostgreSQL n'a pas d'équivalent de clause ON DUPLICATE KEY UPDATE (p. 232) Instruction SELECT pour insert Oui SET col1=expr1,.. Oui VALUES(,…,)|VALUE(, …,) Oui Version 1.0 208 AWS Schema Conversion Tool Guide de l'utilisateur DML SELECT Clause Conversion Détails 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 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. 232) SQL_BUFFER_RESULT Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) SQL_CACHE Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) SQL_CALC_FOUND_ROWSPartielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) SQL_NO_CACHE Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) SQL_SMALL_RESULT Partielle Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) Problème 8653 : PostgreSQL ne prend pas en charge l'option GROUP BY ROLLUP (p. 235) Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) Version 1.0 209 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique STRAIGHT_JOIN Partielle 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. 232) UPDATE Clause Conversion Détails automatique DEFAULT VALUES Oui IGNORE Partielle LIMIT Oui LOW_PRIORITY Partielle Syntaxe à plusieurs tables Oui ORDER BY Oui Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 232) Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 232) Fonctions Agrégation Clause Conversion Détails automatique AVG() Oui BIT_AND() Oui Version 1.0 210 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 Bit Clause Conversion Détails automatique BIT_COUNT() Oui Flux de contrôle Clause Conversion Détails automatique CASE Oui IF() Oui IFNULL() Oui NULLIF() Oui Version 1.0 211 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Conversion Clause Conversion Détails automatique BINARY Oui CAST() Oui CONVERT() Oui Date et heure Clause Conversion Détails automatique ADDDATE() Oui ADDTIME() Oui CONVERT_TZ() Oui CURDATE() Oui CURRENT_DATE(), CURRENT_DATE Oui CURRENT_TIME(), CURRENT_TIME Oui CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP Oui CURTIME() Oui DATE() Oui 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 Version 1.0 212 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique HOUR() Oui LAST_DAY Oui LOCALTIME(), LOCALTIME Oui 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 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 Version 1.0 213 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique UTC_TIME() Oui UTC_TIMESTAMP() Oui WEEK() Non WEEKDAY() Oui WEEKOFYEAR() Oui YEAR() Oui YEARWEEK() Non Chiffrement et compression Clause Conversion Détails automatique AES_DECRYPT() Non AES_ENCRYPT() Non COMPRESS() Non DECODE() Non DES_DECRYPT() (a rendu obsolète 5.7.6) Non 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 UNCOMPRESSED_LENGTH() Non VALIDATE_PASSWORD_STRENGTH() Non Version 1.0 214 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Informations Clause Conversion Détails automatique BENCHMARK() Non CHARSET() Non COERCIBILITY() Non COLLATION() Non CONNECTION_ID() Non 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 USER() Non VERSION() Non Mathématique Clause Conversion Détails automatique ABS() Oui ACOS() Oui ASIN() Oui ATAN() Oui ATAN2() Oui CEIL() Oui CEILING() Oui CONV() Non COS() Oui COT() Oui Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) Version 1.0 215 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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 ROUND(X) Oui SIGN() Oui SIN() Oui SQRT() Oui TAN() Oui TRUNCATE() Oui Chaîne Clause Conversion Détails automatique ASCII() Oui BIN() Oui BIT_LENGTH() Oui CHAR() Oui CHAR_LENGTH() Oui CHARACTER_LENGTH() Oui CONCAT() Non Version 1.0 216 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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. 228) FROM_BASE64() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) HEX() Oui INSERT() Oui INSTR() Oui LCASE() Oui LEFT() Oui 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 Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) Version 1.0 217 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Clause Conversion Détails automatique 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. 228) SOUNDS LIKE Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) SPACE() Oui 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. 228) Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) XML Clause Conversion Détails automatique ExtractValue() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) Version 1.0 218 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion Détails automatique UpdateXML() Non Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) Types de données Date et heure Type de données Converti Détails automatiquement en DATE date DATETIME timestamp without time zone TIME time TIMESTAMP timestamp without time zone 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. 231) 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. 231) Version 1.0 219 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Converti Détails automatiquement en BOOLEAN boolean 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 Problème 8848 : Dans MySQL, le type BOOLEAN est un synonyme pour TINYINT (p. 231) 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 Version 1.0 220 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Virgule flottante Type de données Converti Détails automatiquement en DOUBLE double précision DOUBLE PRECISION double précision DOUBLE PRECISION (p) double précision DOUBLE PRECISION (p,s) double précision DOUBLE(p) double précision DOUBLE(p,s) double précision FLOAT real FLOAT(p) précision de 1 à 24 : real précision > 24 : double précision FLOAT(p's) double précision REAL double précision REAL(p) double précision REAL(p,s) double précision 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. 231) GEOMETRYCOLLECTION VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) LINESTRING VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) Version 1.0 221 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Converti Détails automatiquement en MULTILINESTRING VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) MULTIPOINT VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) MULTIPOLYGON VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) POINT VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) POLYGON VARCHAR(8000) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) 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. 231) BLOB bytea Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) 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. 231) TEXT text TINYBLOB bytea TINYTEXT text Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) Version 1.0 222 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Type de données Converti Détails automatiquement en VARBINARY(len) bytea VARCHAR(len) varchar Problème 8706 : PostgreSQL ne prend pas en charge le type %s (p. 231) Informations de référence sur la conversion de MySQL vers PostgreSQL. Fonctions SQL intégrées (BUILT-IN SQL FUNCTIONS) Elément Problème Résolution Fonction Problème 8811 : PostgreSQL ne prend pas en charge la fonction %s (p. 228) Créez une fonction définie par l'utilisateur. Fonction Problème 8849 : PostgreSQL ne prend pas en charge la fonction %s avec les valeurs de paramètre %s (p. 228) 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. 228) 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. 228) Procédez à une conversion manuelle. Fonction Problème 8854 : PostgreSQL ne prend pas en charge la fonction %s avec des paramètres (p. 228) 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. 228) 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. 228) 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. 229) Procédez à une conversion manuelle. gestion des erreurs Problème 8844 : Les codes d'erreur ne sont pas identiques (p. 229) Vous devez vérifier le résultat de la conversion Version 1.0 223 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 gestion des erreurs Problème 8846 : PostgreSQL ne prend pas en charge l'option d'instruction %s (p. 229) 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. 230) 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. 230) Procédez à une conversion manuelle. PROCESS_LIST Problème 8856 : Les informations des processus de serveur varient en fonction des serveurs (p. 230) 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. 230) Procédez à une conversion manuelle. SLEEP Problème 8853 : Procédez à une conversion manuelle si vous utilisez SLEEP() avec d'autres expressions (p. 230) 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. 230) 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. 231) 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. 231) Pour stocker les données de ce type dans PostgreSQL, utilisez un type compatible PostgreSQL ou un type composite. CREATE Elément DATATYPES Version 1.0 224 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. DDL 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. 231) 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. 231) 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. 232) Procédez à une conversion manuelle. DML Problème 8830 : PostgreSQL n'a pas une option similaire à LOW_PRIORITY pour les instructions DML (p. 232) Utilisez l'instruction DML sans cette option. DML Problème 8831 : PostgreSQL n'a pas une option similaire à IGNORE pour les instructions DML (p. 232) Utilisez l'instruction DML sans cette option. DML Problème 8832 : PostgreSQL n'a pas une option similaire à QUICK pour les instructions DML (p. 232) Utilisez l'instruction DML sans cette option. DML Problème 8833 : PostgreSQL ne peut pas mettre à jour plusieurs tables en même temps (p. 232) 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. 232) Procédez à une conversion manuelle. SELECT Problème 8835 : PostgreSQL n'a pas une option similaire à DELAYED pour les instructions DML (p. 232) Utilisez l'instruction DML sans cette option. SELECT Problème 8836 : PostgreSQL n'a pas une option similaire à %s pour les instructions DML (p. 232) Utilisez l'instruction DML sans cette option. SELECT Problème 8837 : PostgreSQL ne prend pas en charge de clause STRAIGHT_JOIN (p. 233) Utilisez l'instruction DML sans cette option SELECT Problème 8838 : PostgreSQL ne prend pas en charge de clause SQL_SMALL_RESULT (p. 233) Utilisez l'instruction DML sans cette option SELECT Problème 8839 : PostgreSQL ne prend pas en charge de clause SQL_BIG_RESULT (p. 233) Utilisez l'instruction DML sans cette option DML Version 1.0 225 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 SELECT Problème 8840 : PostgreSQL ne prend pas en charge de clause SQL_BUFFER_RESULT (p. 233) Utilisez l'instruction DML sans cette option SELECT Problème 8841 : PostgreSQL ne prend pas en charge de clause SQL_CACHE (p. 233) Utilisez l'instruction DML sans cette option SELECT Problème 8842 : PostgreSQL ne prend pas en charge de clause SQL_NO_CACHE (p. 233) Utilisez l'instruction DML sans cette option SELECT Problème 8843 : PostgreSQL ne prend pas en charge de clause SQL_CALC_FOUND_ROWS (p. 233) Utilisez l'instruction DML sans cette option WHERE Problème 8795 : PostgreSQL est sensible à la casse. Vérifiez la comparaison des chaînes. (p. 233) Vérifiez la comparaison des chaînes. Elément Problème Résolution EVENTS Problème 8855 : La conversion automatique de la syntaxe EVENT n'est pas prise en charge (p. 233) 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. 234) 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. 234) 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. 234) Procédez à une conversion manuelle. EVENTS EXECUTE Opérateurs Version 1.0 226 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Parser Error (erreur d'analyse) Elément Problème Résolution Parser Error Problème 8663 : Impossible de résoudre l'objet (p. 234) 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. 235) Procédez à une conversion manuelle. SELECT TRANSACTION Elément Problème Résolution TRANSACTION Problème 8807 : PostgreSQL ne prend pas en charge les transactions dans les fonctions (p. 235) Procédez à une conversion manuelle. Unknown (inconnu) Elément Problème Résolution Problème 8655 : Cette conversion d'élément syntaxique n'est pas encore prise en charge (p. 235) Procédez à une conversion manuelle. Problème 8674 : La conversion automatique de la clause %s de l'instruction %s n'est pas pris en charge (p. 235) Procédez à une conversion manuelle. Elément Problème Résolution CREATE VIEW Problème 8824 : L'option ALGORITHM n'est pas pris en charge (p. 236) Procédez à une conversion manuelle. Clause inconnue VIEW Version 1.0 227 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. Problèmes de conversion des fonctions intégrées SQL (BUILTIN 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. 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 : Version 1.0 228 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. 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 modifiez-le 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 : 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. Version 1.0 229 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. 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. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 230 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 : 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 modifiez-le 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. Version 1.0 231 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 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. Version 1.0 232 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de MySQL vers PostgreSQL. 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. Rubriques connexes • Informations de référence sur la conversion de MySQL vers PostgreSQL. (p. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 233 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 223) Version 1.0 234 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. 130) • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 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; Version 1.0 235 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge d'Oracle vers MySQL • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 223) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Rubriques • Instructions (p. 237) • Procédures (p. 242) • Contrôle de flux (p. 242) • Packages (p. 242) • Fonctions (p. 243) • Opérateurs (p. 252) Version 1.0 236 AWS Schema Conversion Tool Guide de l'utilisateur Instructions • Types de données (p. 256) • Langage de définition de données (DDL) (p. 258) • Curseurs (p. 262) • Indicateurs (p. 262) • Exceptions (p. 265) • Rubriques connexes (p. 266) Instructions Topics • SELECT (p. 237) • INSERT (p. 238) • UPDATE (p. 239) • DELETE (p. 240) • MERGE (p. 241) • TRUNCATE (p. 241) • LOCK TABLE (p. 242) SELECT Clause Conversion Détails automatique WITH Non AS Non SELECT Oui DISTINCT | UNIQUE | ALL Oui select_list Oui BULK COLLECT INTO Non INTO Oui record_name Non FROM Oui @dblink Non materialized view Non TABLE (collection_expression) Non MODEL Non Utilisez une procédure stockée pour préparer les données ou réécrivez votre requête pour éviter la clause WITH. Vous pouvez essayer d'inclure tous les champs de votre table dans une clause INTO. MySQL ne prend pas en charge l'instruction MODEL. Version 1.0 237 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion Détails automatique 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. INSERT Clause Conversion Détails automatique INTO table Oui Version 1.0 238 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion Détails automatique 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 Non table_collection_expression 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é. UPDATE Clause Conversion Détails automatique UPDATE [indicateur] Oui table Oui PARTITION Oui PARTITION FOR Non SUBPARTITION Non Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide de l'instruction UPDATE. Version 1.0 239 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion Détails automatique VIEW Non MATERIALIZED VIEW Non sous-requête Non WITH Non Effectuez plutôt une mise à jour sur les tables susjacentes. Effectuez plutôt cette opération sur les tables sousjacentes. table_collection_expression Oui SET Oui 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 Détails automatique DELETE Oui FROM Oui PARTITION Oui PARTITION FOR Non SUBPARTITION Non VIEW Non Procédez à une conversion manuelle. MATERIALIZED VIEW Non Procédez à une conversion manuelle. Insérez des données dans la partition sus-jacente ou procédez à une transformation manuelle à l'aide de l'instruction DELETE. Version 1.0 240 AWS Schema Conversion Tool Guide de l'utilisateur Instructions Clause Conversion Détails automatique sous-requête Non WITH Non Effectuez plutôt cette opération sur les tables sousjacentes. 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é. MERGE Instruction Conversion Détails automatique MERGE Non Pour obtenir l'effet d'une instruction MERGE, utilisez les instructions INSERT, DELETE et UPDATE distinctes. TRUNCATE Clause Conversion Détails automatique TRUNCATE TABLE Oui PRESERVE MATERIALIZED VIEW LOG Non PURGE MATERIALIZED VIEW LOG Non DROP STORAGE Non REUSE STORAGE Non Version 1.0 241 AWS Schema Conversion Tool Guide de l'utilisateur Procédures LOCK TABLE Clause Conversion Détails automatique PARTITION Non SUBPARTITION Non NOWAIT Non Procédures Elément Conversion Détails automatique 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. Contrôle de flux Clause Conversion Détails automatique GOTO Non FORALL Non EXECUTE IMMEDIATE Non BULK COLLECT Non RETURNING BULK COLLECT INTO Non LABEL Non Essayez d'utiliser une instruction WHILE DO. Essayez de réécrire les variables sans utiliser d'étiquettes (labels). Packages Elément Conversion Détails automatique Bloc d'initialisation, BEGIN Partielle … END MySQL ne prend pas en charge EXCEPTION BLOCK dans les blocs d'initialisation des packages. Essayez d'utiliser CONTINUE HANDLER. Version 1.0 242 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Elément Conversion Détails automatique Type utilisateur Non Curseur global Non Exception utilisateur globale Non Fonctions Topics • Fonctions d'agrégation (p. 243) • Fonctions de date et d'heure (p. 245) • Fonctions mathématiques (p. 246) • Fonctions de caractères (chaîne) (p. 247) • Fonctions de conversion (p. 248) • Fonctions de comparaison générale (p. 250) • Fonctions d'encodage et de décodage (p. 250) • E-mail (p. 250) • HTTP (p. 250) • SMS (p. 251) • Fonctions NULL (p. 251) • Fonctions définies par l'utilisateur (p. 251) • Fonctions d'objet volumineux (p. 252) • Fonctions hiérarchiques (p. 252) • Fonctions analytiques (p. 252) 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 Détails automatique AVG Oui COLLECT Non CORR Non CORR_* Non COUNT Oui COVAR_POP Non COVAR_SAMP Non CUME_DIST Non Version 1.0 243 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique DENSE_RANK Non FIRST Non 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 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 Converti en : TRUNCATE() Version 1.0 244 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique VARIANCE Oui Fonctions de date et d'heure Fonction Conversion Détails automatique 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 Version 1.0 245 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique SESSIONTIMEZONE Non SYS_EXTRACT_UTC Non SYSDATE Partielle Converti en : SYSDATE() SYSTIMESTAMP Partielle Converti en : CURRENT_TIMESTAMP 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 Détails 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 Converti en : (exp1 et exp2) Converti en : (EXP(num) + EXP(-num)) / 2 Version 1.0 246 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique NANVL (n2, n1) Non POWER(value, n) Oui REMAINDER(n1, n2) Partielle ROUND (num, integer) Oui 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 Converti en : (n1 - n2*ROUND(n1/n2)) Converti en : TRUNCATE(num, 0) Fonctions de caractères (chaîne) Fonction Conversion Détails automatique ASCII(str) Oui CHR(num) Partielle CONCAT(char1, char2) Oui INITCAP(string) Non INSTR(str, substr) Oui INSTR(str, substr, pos) Partielle 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 Converti en : LENGTH (string) Converti en : LPAD(string, len, ' ') Version 1.0 247 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique LTRIM(string) Oui LTRIM(string, set) Partielle NLS_INITCAP Non NLS_LOWER Non 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 Converti en : TRIM(LEADING set FROM string) 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 Détails automatique ASCIISTR(string) Non BIN_TO_NUM(bit1, bit2, …) Non CAST Oui CHARTOROWID Non Version 1.0 248 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique COMPOSE Non CONVERT(string, charset) Partielle DECOMPOSE Non HEXTORAW Non 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 TO_CLOB Partielle TO_DATE Partielle Converti en : CONVERT(string USING charset) 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. 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 Version 1.0 249 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions Fonction Conversion Détails automatique TO_NUMBER Non TO_DSINTERVAL Non TO_SINGLE_BYTE Non TO_TIMESTAMP Non TO_TIMESTAMP_TZ Non TO_YMINTERVAL Non TRANSLATE ... USING Non UNISTR Partielle Converti en : CHAR(string USING UCS2) Fonctions de comparaison générale Fonction Conversion Détails automatique GREATEST(exp, exp2, …) Oui LEAST(exp, exp2, …) Oui Fonctions d'encodage et de décodage Fonction Conversion Détails automatique DECODE(exp, when, then, ...) Partielle DUMP Non ORA_HASH Non VSIZE Non Converti en : expression CASE 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). Version 1.0 250 AWS Schema Conversion Tool Guide de l'utilisateur Fonctions 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). Fonctions NULL Fonction Conversion Détails automatique 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 Détails automatique 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 Version 1.0 251 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Collections Elément Conversion Détails automatique 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, collection_name.Count, collection_name.Next Non MySQL ne prend pas en charge les méthodes de collection de type table. Essayez d'utiliser une table. := collection_type(...) Non MySQL ne prend pas en charge le constructeur pour le type de collection. Essayez d'utiliser une table. Arguments Elément Conversion Détails automatique Type d'enregistrement UDT Non Type de collection UDT Non Type d'objet UDT Non Fonctions d'objet volumineux Fonction Conversion Détails automatique BFILENAME Non EMPTY_BLOB Partielle Converti en chaîne vide. EMPTY_CLOB Partielle Converti en chaîne vide. Fonctions hiérarchiques Fonction Conversion Détails automatique 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 Topics Version 1.0 252 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs • Opérateurs arithmétiques (p. 253) • Opérateur d'affectation (p. 253) • Opérateurs de comparaison (p. 253) • Opérateurs logiques (p. 254) • Opérateur de concaténation de chaînes (p. 254) • Spécificateurs de format de date et d'heure (p. 254) Opérateurs arithmétiques Clause Conversion Détails automatique + Oui – Oui +- Partielle */ Oui 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 Détails automatique = Oui Opérateurs de comparaison Clause Conversion Détails automatique > Oui < Oui >= Oui <= Oui <> Oui != Oui !< Oui !> Oui Version 1.0 253 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Opérateurs logiques Clause Conversion Détails automatique IN Oui NOT IN Oui ANY Oui SOME Oui ALL Oui BETWEEN x Oui EXISTS Oui LIKE Oui IS NULL Oui NOT Oui AND Oui OR Oui Opérateur de concaténation de chaînes Clause Conversion Détails automatique || Oui Spécificateurs de format de date et d'heure Clause Conversion Conversion par défaut automatique YEAR Non YYYY Partielle YYY Non YY Partielle Y Non IYY Non IY Partielle I Non IYYY Partielle %Y %y %y %Y Version 1.0 254 AWS Schema Conversion Tool Guide de l'utilisateur Opérateurs Clause Conversion Conversion par défaut automatique RRRR Non Q Non MM Partielle %m MON Partielle %b MONTH Partielle %M RM Non WW Partielle 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 %V %p Version 1.0 255 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion Conversion par défaut automatique TZR Non 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 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) Version 1.0 256 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Conversion automatique Conversion par défaut 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) 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 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 257 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 Détails TIMESTAMP(p) WITH TIME ZONE Partielle DATETIME 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. UROWID Oui TEXT UROWID(n) Oui VARCHAR(n) VARCHAR Oui TEXT VARCHAR(n) Oui VARCHAR(n) VARCHAR2 Oui TEXT VARCHAR2(n) Oui VARCHAR(n) XMLTYPE Oui LONGTEXT Langage de définition de données (DDL) Topics • CREATE TABLE (p. 258) • CREATE INDEX (p. 259) • CREATE TRIGGER (p. 259) • CREATE VIEW (p. 261) • CREATE CONSTRAINT (p. 261) • CREATE SEQUENCE (p. 262) CREATE TABLE Les instructions CREATE TABLE sont converties automatiquement sauf dans les cas suivants. Clause Conversion Détails automatique 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. Version 1.0 258 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion Détails automatique 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. 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 Détails automatique 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. Version 1.0 259 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion Détails automatique WHEN(condition) Non 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. 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. MySQL ne prend pas en charge les déclencheurs WHEN(condition). Appliquez la condition pour WHEN dans le corps du déclencheur. 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) triggeringevent=ddl_events Non triggeringevent=database_events Non base-object-type=VIEW Non base-objecttype=SCHEMA Non base-objecttype=DATABASE Non Version 1.0 260 AWS Schema Conversion Tool Guide de l'utilisateur Langage de définition de données (DDL) Clause Conversion Détails automatique 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. Clause Conversion Détails 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 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. Version 1.0 261 AWS Schema Conversion Tool Guide de l'utilisateur Curseurs Clause Conversion Détails automatique 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. Curseurs Les curseurs sont convertis automatiquement sauf dans les cas suivants. Clause Conversion Détails automatique 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. Version 1.0 262 AWS Schema Conversion Tool Guide de l'utilisateur Indicateurs Clause Conversion Détails automatique /*+ ALL_ROWS */ Non /*+ AND_EQUAL(table index...) */ Non /*+ APPEND */ Non /*+ CACHE(table) */ Non /*+ CHOOSE */ Non /*+ CLUSTER(table) */ Non /*+ Non CURSOR_SHARING_EXACT */ /*+ DRIVING_SITE(table) */ Non /*+ DYNAMIC_SAMPLING Non */ /*+ 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 Version 1.0 263 AWS Schema Conversion Tool Guide de l'utilisateur Indicateurs Clause Conversion Détails automatique /*+ 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 /*+ NO_UNNEST */ Non /*+ NOAPPEND */ Non /*+ NOCACHE(table) */ Non /*+ NOFACT(table) */ Non /*+ ORDERED */ Non /*+ Non ORDERED_PREDICATES */ /*+ PARALLEL(table server_num) */ Non /*+ PARALLEL_INDEX(table index server_num) */ Non /*+ PQ_DISTRIBUTE(table out_distr in_distr) */ Non /*+ PUSH_PRED(subquery) */ Non /*+ Non PUSH_SUBQ(subquery) */ /*+ REWRITE */ Non /*+ ROWID(table) */ Non Version 1.0 264 AWS Schema Conversion Tool Guide de l'utilisateur Exceptions Clause Conversion Détails automatique /*+ RULE */ Non /*+ STAR */ Non /*+ Non STAR_TRANSFORMATION */ /*+ UNNEST */ Non /*+ USE_CONCAT */ Non /*+ USE_HASH(table1 table2) */ Non /*+ USE_MERGE(table1 table2) */ Non Exceptions Elément Conversion Détails automatique 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 Détails automatique 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. Version 1.0 265 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Exception Conversion Détails automatique 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. 10) • 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 Détails automatique ALTER CLUSTER Non ALTER DATABASE Non ALTER DIMENSION Non ALTER DISKGROUP Non ALTER FLASHBACK ARCHIVE Non ALTER FUNCTION Non ALTER TABLESPACE Non Version 1.0 266 AWS Schema Conversion Tool Guide de l'utilisateur DDL Clause Conversion Détails automatique 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 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 ALTER TABLE Clause Conversion Détails automatique ADD CONSTRAINT Oui ADD column Non Version 1.0 267 AWS Schema Conversion Tool Guide de l'utilisateur DDL Clause Conversion Détails automatique 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 Instruction CREATE [OR REPLACE] VIEW Clause Conversion Détails automatique FORCE Oui NOFORCE Oui READ ONLY Oui Vues actualisables Oui WITH OBJECT IDENTIFIER Oui Instruction CREATE INDEX Clause Conversion Détails automatique BITMAP Non Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap (p. 311) DOMAIN Non Problème 5208 : PostgreSQL ne prend pas en charge les index de domaine (p. 311) FUNCTION-BASED BITMAP Non Problème 5206 : PostgreSQL ne prend pas en charge les index bitmap (p. 311) Version 1.0 268 AWS Schema Conversion Tool Guide de l'utilisateur DDL Clause Conversion Détails automatique FUNCTION-BASED NORMAL Oui NONUNIQUE Oui NORMAL Oui UNIQUE Oui Problème 5555 : PostgreSQL ne prend pas en charge les index fonctionnels qui ne tiennent pas sur une seule colonne (p. 311) CREATE TABLE Clause Conversion Détails automatique Tables en cluster Non Problème 5199 : PostgreSQL ne prend pas en charge CLUSTERED TABLE (p. 311) Table externe Non Problème 5200 : PostgreSQL ne prend pas en charge EXTERNAL TABLES (p. 311) 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. 312) Table partitionnée Non Problème 5201 : PostgreSQL ne prend pas en charge tous les types de partition (p. 311) Tables standard Oui Tables temporaires Partielle Problème 5198 : PostgreSQL ne prend pas en charge GLOBAL TEMPORARY TABLE (p. 312) Séquences Clause Conversion Détails automatique CREATE Oui Using Oui Version 1.0 269 AWS Schema Conversion Tool Guide de l'utilisateur DML DML Fonctions SQL intégrées Fonctions d'agrégation Clause Conversion Détails automatique AVG Oui COLLECT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) CORR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) CORR_* Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) COUNT Oui COVAR_POP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) COVAR_SAMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) CUME_DIST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) DENSE_RANK Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) FIRST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) GROUP_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) GROUPING Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) GROUPING_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) LAST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) MAX Oui MEDIAN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) MIN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PERCENT_RANK Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 270 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique PERCENTILE_CONT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PERCENTILE_DISC Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) RANK Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions REGR_ (régression linéaire) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_BINOMIAL_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_CROSSTAB Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_F_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_KS_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_MODE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_MW_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_ONE_WAY_ANOVA Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_T_TEST_* Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STATS_WSR_TEST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STDDEV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STDDEV_POP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) STDDEV_SAMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SUM Oui VAR_POP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) VAR_SAMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) VARIANCE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 271 AWS Schema Conversion Tool Guide de l'utilisateur DML Fonctions analytiques Clause Conversion Détails automatique 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 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. 309) Fonctions REGR_ (régression linéaire) * Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) ROW_NUMBER Oui STDDEV * Oui STDDEV_POP * Oui STDDEV_SAMP * Oui SUM * Oui Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 272 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique VAR_POP * Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) VAR_SAMP * Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) VARIANCE * Oui Fonctions de caractères retournant des valeurs de caractère Clause Conversion Détails 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 Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) NLS_LOWER Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) NLS_UPPER Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) NLSSORT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) REGEXP_REPLACE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) REGEXP_SUBSTR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) REPLACE(str, search) Oui REPLACE(str, search, replace) Oui RPAD(string, len) Oui RTRIM(string) Oui RTRIM(string, set) Oui SOUNDEX(String) Oui Version 1.0 273 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique 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. 309) Fonctions de caractère retournant des valeurs numériques Clause Conversion Détails automatique ASCII(str) Oui INSTR(str, substr) Oui INSTR(str, substr, pos) Implémenté dans la bibliothèque d'extensions 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. 309) Fonctions de collection Clause Conversion Détails automatique CARDINALITY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) COLLECT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 274 AWS Schema Conversion Tool Guide de l'utilisateur DML Fonctions de conversion Clause Conversion Détails automatique 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. 309) COMPOSE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) CONVERT(string, charset) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) DECOMPOSE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) HEXTORAW Oui NUMTODSINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) NUMTOYMINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) RAWTOHEX Oui RAWTONHEX Oui ROWIDTOCHAR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) ROWIDTONCHAR Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) 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 Version 1.0 275 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique 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 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. 309) TRANSLATE ... USING Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) UNISTR Implémenté dans la bibliothèque d'extensions Fonctions d'exploration des données Clause Conversion Détails automatique CLUSTER_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) CLUSTER_PROBABILITY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 276 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique CLUSTER_SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) FEATURE_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) FEATURE_SET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) FEATURE_VALUE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PREDICTION Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PREDICTION_COST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PREDICTION_DETAILS Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PREDICTION_PROBABILITYNon Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PREDICTION_SET Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Non Fonctions Datetime Clause Conversion Détails automatique 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 Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 277 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique 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 MONTHS_BETWEEN(date1,Oui date2) NEW_TIME Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) 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. 309) NUMTOYMINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) ROUND (date) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) 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. 309) TO_TIMESTAMP(exp) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 278 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique TO_TIMESTAMP_TZ Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) TO_YMINTERVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) TRUNC (datetime) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) TZ_OFFSET Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) dbms_output Clause Conversion Détails automatique dbms_output.put() Oui dbms_output.put_line() Oui Fonctions d'encodage et de décodage Clause Conversion Détails automatique DECODE(exp, when, then, …) Oui DUMP Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) ORA_HASH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) VSIZE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions d'environnement et d'identificateur Clause Conversion Détails automatique SYS_CONTEXT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SYS_GUID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SYS_TYPEID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) UID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 279 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique USER Oui USERENV('parameter') Oui Fonctions de comparaison générale Clause Conversion Détails automatique GREATEST(exp, exp2, …) Oui LEAST(exp, exp2, …) Oui Fonctions hiérarchiques Clause Conversion Détails automatique SYS_CONNECT_BY_PATH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions d'objet volumineux Clause Conversion Détails automatique BFILENAME Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) EMPTY_BLOB, EMPTY_CLOB Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions de modèle Clause Conversion Détails automatique CV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) ITERATION_NUMBER Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PRESENTNNV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PRESENTV Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PREVIOUS Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 280 AWS Schema Conversion Tool Guide de l'utilisateur DML Fonctions de caractère NLS Clause Conversion Détails automatique NLS_CHARSET_DECL_LENNon Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) NLS_CHARSET_ID Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) NLS_CHARSET_NAME Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions liées aux valeurs NULL Clause Conversion Détails automatique COALESCE(exp1, exp2, …) Oui LNNVL Non NULLIF(exp1, exp2) Oui NVL(exp, replacement) Oui NVL2(exp1, exp2, exp3) Oui Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions numériques Clause Conversion Détails 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 Version 1.0 281 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique 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 TRUNC (number) Oui WIDTH_BUCKET Oui Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions de référence d'objet Clause Conversion Détails automatique DEREF Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) MAKE_REF Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) REF Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) REFTOHEX Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) VALUE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Fonctions XML Clause Conversion Détails automatique APPENDCHILDXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 282 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique DELETEXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) DEPTH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) EXISTSNODE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) EXTRACT (XML) Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) EXTRACTVALUE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) INSERTCHILDXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) INSERTXMLBEFORE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) PATH Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SYS_DBURIGEN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SYS_XMLAGG Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) SYS_XMLGEN Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) UPDATEXML Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLAGG Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLCDATA Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLCOLATTVAL Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLCOMMENT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLCONCAT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLFOREST Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLPARSE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Version 1.0 283 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique XMLPI Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLQUERY Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLROOT Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLSEQUENCE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLSERIALIZE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLTABLE Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) XMLTRANSFORM Non Problème 5340 : PostgreSQL ne prend pas en charge la fonction %s (p. 309) Indicateurs Clause Conversion Détails automatique Index et cluster Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Ordre des jointures Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Jointures Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Mode Optimiseur Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Exécution en parallèle Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Transformation de requête Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Autre Non Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) Jointures Clause Conversion Détails automatique Jointures croisées Oui Version 1.0 284 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique Jointures internes Oui Jointures externes Oui Fonctions d'opérateurs et de date Clause Conversion Détails automatique Opérateurs arithmétiques Oui Opérateurs de concaténation Oui Prédicats Clause Conversion Détails automatique Conditions booléennes Oui Conditions de comparaison : '=, <>, <, <=, >, >=, ANY, SOME, ALL Oui Conditions Exists Oui Conditions In Oui Conditions Null Oui Conditions de correspondance de modèles Oui Conditions de plage Oui Opérateurs d'ensembles Opérateurs de concaténation Clause Conversion Détails automatique INTERSECT, EXCEPT Oui MINUS Oui UNION, UNION ALL Oui Version 1.0 285 AWS Schema Conversion Tool Guide de l'utilisateur DML Instructions DELETE Clause Conversion Détails automatique DELETE FROM MATERIALIZED VIEW Non Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW matérialisée (p. 318) DELETE FROM SUBQUERY Non Problème 5068 : PostgreSQL ne prend pas en charge l'instruction DELETE pour une sous-requête (p. 315) 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. 315) HIERARCHICAL QUERY AND HIERARCHICAL QUERY PSEUDOCOLUMNS Clause Conversion Détails 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 Problème 5586 : Conversion automatique des requêtes assorties de la clause NOCYCLE non prise en charge (p. 320) SYS_CONNECT_BY_PATH Oui Opérateurs de requête hiérarchique Clause Conversion Détails automatique CONNECT_BY_ROOT Oui PRIOR Oui Version 1.0 286 AWS Schema Conversion Tool Guide de l'utilisateur DML INSERT Clause Conversion Détails automatique ALL Oui DEFAULT Oui ELSE Oui FIRST Oui INSERT à partir de la clause « SUBQUERY » Oui INSERT à partir de la clause « VALUES(...) » Oui INSERT INTO SUBQUERY Non INSERT INTO TABLE Oui INSERT INTO VIEW Oui INSERT avec partition_extension_clause Non Problème 5024 : PostgreSQL ne prend pas en charge l'instruction INSERT avec partition_extension_clause (p. 317) Insertion dans une table avec la clause Error Logging Non Problème 5070 : PostgreSQL ne prend pas en charge l'instruction INSERT avec l'option ERROR LOG (p. 317) RETURNING INTO Oui WHEN Oui Problème 5071 : PostgreSQL ne prend pas en charge l'instruction INSERT pour une sous-requête (p. 318) LOCK TABLE Clause Conversion Détails automatique Verrouillage de table en mode exclusif Oui Verrouillage de table en mode partage Oui Verrouillage sans attente Oui SELECT Clause Conversion Détails automatique Opérateur d'addition ou de Oui soustraction Version 1.0 287 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique BULK COLLECT INTO Non Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO (p. 320) CUBE Non Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 320) FOR UPDATE Non Problème 5139 : PostgreSQL ne prend pas en charge FOR UPDATE SKIP LOCKED (p. 320) GROUP BY Oui GROUPING SETS Non HAVING Oui INTERSECT Oui INTO Oui MINUS Oui MODEL Non ORDER BY Oui Clause PIVOT Non Problème 5077 : PostgreSQL ne prend pas en charge la clause PIVOT pour l'instruction SELECT (p. 326) ROLLUP Non Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 320) Pseudo-colonne ROWNUM Oui SELECT ALL Oui SELECT DISTINCT Oui SELECT LIST Oui SELECT UNIQUE Oui UNION Oui UNION ALL Oui Clause UNPIVOT Oui Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 320) Problème 5126 : PostgreSQL ne prend pas en charge l'instruction MODEL (p. 320) WHERE( field_name1, Oui …,fieldnameN) IN (subquery_with_multiple_fields) Version 1.0 288 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique 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 UPDATE Clause Conversion Détails automatique UPDATE (subquery) Non Problème 5065 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une sous-requête (p. 325) UPDATE MATERIALIZED VIEW Non Problème 5095 : PostgreSQL ne prend pas en charge l'utilisation d'une VIEW matérialisée (p. 318) 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. 325) UPDATE avec clause d'extension de partition Non Problème 5558 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une PARTITION (p. 325) 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 Version 1.0 289 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion Détails automatique MERGE Non TRUNCATE TABLE Oui Problème 5102 : PostgreSQL ne prend pas en charge l'instruction MERGE (p. 318) PLSQL Arguments des fonctions et des procédures Clause Conversion Détails 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 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 Fonctions Clause Conversion Détails 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 Version 1.0 290 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion Détails automatique 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 Packages Clause Conversion Détails automatique 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. 319) 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. 319) 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 Détails automatique block EXCEPTION when exception_name then… Oui CASE_NOT_FOUND Oui case when conditions then…else… end case; Oui Version 1.0 291 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion Détails automatique close cursor_variable Oui COMMIT Oui CURSOR_ALREADY_OPENOui 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 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 Problème 5334 : PostgreSQL ne prend pas en charge l'instruction SQL dynamique (p. 315) Problème 5121 : PostgreSQL ne prend pas en charge l'instruction FORALL (p. 324) Problème 5335 : PostgreSQL ne prend pas en charge l'opérateur GOTO (p. 321) open cursor_variable for Oui select_statemet_string_variable Version 1.0 292 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion Détails automatique 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. 317) 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 SQL%ISOPEN Non SQL%NOTFOUND Oui SQL%ROWCOUNT Oui STORAGE_ERROR Oui Problème 5140 : PostgreSQL ne prend pas en charge BULK COLLECT INTO (p. 320) Problème 5084 : PostgreSQL ne prend pas en charge l'attribut de curseur %ISOPEN (p. 314) 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 Détails automatique Déclaration d'une variable scalaire intégrée Oui Version 1.0 293 AWS Schema Conversion Tool Guide de l'utilisateur PLSQL Clause Conversion Détails automatique 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 Procédures Clause Conversion Détails automatique Instruction CREATE PROCEDURE Oui Déclencheurs Clause Conversion Détails automatique 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. 323) REFERENCING - clause Non Problème 5238 : PostgreSQL ne prend pas en charge les clauses REFERENCING (p. 323) Version 1.0 294 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Clause Conversion Détails automatique 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 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 Problème 5212 : PostgreSQL n'a pas un type de données BFILE (p. 311) Version 1.0 295 AWS Schema Conversion Tool Guide de l'utilisateur Types de données Type de données Converti Détails automatiquement en 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 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. 313) UROWID character varying Problème 5551 : PostgreSQL n'a pas un type de données UROWID (p. 313) Problème 5550 : PostgreSQL n'a pas un type de données ROWID (p. 312) 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. 313) 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. 313) Version 1.0 296 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 VARCHAR character varying VARCHAR2 character varying XMLTYPE xml 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. 309) Impossible de retourner une réponse car cette fonctionnalité est asynchrone. 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. 309) 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. 309) 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. 310) 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. 310) Examinez votre code transformé et modifiez-le, si nécessaire. Modifiez un type d'argument si nécessaire. TO_CHAR, TO_DATE, TO_NUMBER Vérifiez le code converti et effectuez des corrections manuelles si nécessaire. Problème 5579 : Le deuxième paramètre de la fonction %s peut être traité de manière incorrecte (p. 310) Version 1.0 297 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL CREATE Elément Objets chiffrés Problème Résolution Problème 5099 : Impossible de convertir l'objet en raison de la non création de %s (p. 310) 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. 310) Convertissez également l'objet présent dans le schéma %s. Problème 5582 : Objets chiffrés (p. 310) Déchiffrez l'objet avant la conversion. 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. 311) 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. 311) Modifiez votre code et essayez d'utiliser l'index simple. 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. 311) 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. 311) 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 Stockez un fichier nommé de données BFILE (p. 311) 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. 311) Version 1.0 298 Procédez à une conversion manuelle pour les types de AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution 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. 311) 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. 311) Essayez d'utiliser une table. CREATION D'UNE TABLE TEMPORAIRE GLOBALE Problème 5198 : PostgreSQL ne prend pas en charge GLOBAL TEMPORARY TABLE (p. 312) 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. 312) 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. 312) 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. 312) Modifiez votre code pour éviter NESTED TABLE. Type de données ROWID Problème 5550 : PostgreSQL n'a pas un type Examinez votre code de données ROWID (p. 312) 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. 312) Elles ont été émulées par un déclencheur. 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. 313) 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. 313) 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. 313) 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 Examinez votre code de données UROWID (p. 313) transformé et modifiez-le, si nécessaire. Version 1.0 299 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL CREATE TYPE Elément Problème Résolution TYPE D'OBJET Problème 5572 : PostgreSQL ne prend pas en charge les méthodes de type objet (p. 314) 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. 314) 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. 314) Remplacez la fonction par une procédure stockée et essayez d'utiliser une table pour stocker les résultats. 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. 314) Vérifiez si les données enfreignent ces restrictions. Si c'est le cas, effectuez une migration manuelle. 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. 315) 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. 315) 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 sous-requête (p. 315) Effectuez plutôt cette opération sur les tables sousjacentes. DELETE Version 1.0 300 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL SQL DYNAMIQUE 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. 315) Procédez à une conversion manuelle. EXECUTE IMMEDIATE Problème 5334 : PostgreSQL ne prend pas en charge l'instruction SQL dynamique (p. 315) 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. 315) Procédez à une conversion manuelle. Problème Résolution EXCEPTION Elément ACCESS_INTO_NULL Problème 5561 : PostgreSQL ne prend pas en charge l'exception ACCESS_INTO_NULL (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. COLLECTION_IS_NULLProblème 5562 : PostgreSQL ne prend pas en charge l'exception COLLECTION_IS_NULL (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. EMPTY_BLOCK Problème 5580 : Le bloc d'exception a été vidé après la conversion (p. 316) Vérifiez le code converti et effectuez des corrections manuelles si nécessaire. EXCEPTION Problème 5570 : PostgreSQL ne prend pas en charge la déclaration de nom d'exception (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. NO_DATA_NEEDED Problème 5563 : PostgreSQL ne prend pas en charge l'exception NO_DATA_NEEDED (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. PROGRAM_ERROR Problème 5560 : PostgreSQL ne prend pas en charge l'exception PROGRAM_ERROR (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. ROWTYPE_MISMATCHProblème 5564 : PostgreSQL ne prend pas en charge l'exception ROWTYPE_MISMATCH (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. SELF_IS_NULL Examinez l'exception utilisée et, si possible, convertissezla en autre condition. Problème 5565 : PostgreSQL ne prend pas en charge l'exception SELF_IS_NULL (p. 316) SUBSCRIPT_BEYOND_COUNT Problème 5566 : PostgreSQL ne prend pas en charge l'exception SUBSCRIPT_BEYOND_COUNT (p. 316) Version 1.0 301 Examinez l'exception utilisée et, si possible, convertissezla en autre condition. AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution SUBSCRIPT_OUTSIDE_LIMIT Problème 5567 : PostgreSQL ne prend pas en charge l'exception SUBSCRIPT_OUTSIDE_LIMIT (p. 316) Examinez l'exception utilisée et, si possible, convertissezla en autre condition. SYS_INVALID_ROWID Problème 5568 : PostgreSQL ne prend pas en charge l'exception SYS_INVALID_ROWID (p. 316) Examinez l'exception utilisée et, si possible, convertissezla 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. 317) 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 utiliser les instructions qui débutent ou terminent explicitement ou implicitement une transaction, telles que START TRANSACTION, COMMIT ou ROLLBACK (p. 317) Corrigez votre code pour implémenter un contrôle de transaction côté application. 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. 317) 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é. FONCTION INSERT INSERT avec Problème 5024 : PostgreSQL ne prend partition_extension_clause pas en charge l'instruction INSERT avec partition_extension_clause (p. 317) 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 sous-requête (p. 318) 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. 318) Insérez des données dans la partition sus-jacente ou procédez à une conversion Version 1.0 302 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution 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. 318) Modifiez votre code pour remplacer une VUE matérialisée par une autre solution. A L'AIDE DE LA VUE Problème 5095 : PostgreSQL ne prend MATERIALISEE pas en charge l'utilisation d'une VIEW matérialisée (p. 318) Modifiez votre code pour remplacer une VUE matérialisée par une autre solution. MERGE Elément Problème Résolution MERGE Problème 5102 : PostgreSQL ne prend pas en charge l'instruction MERGE (p. 318) Pour obtenir l'effet d'une instruction MERGE, utilisez les instructions INSERT, DELETE et UPDATE distinctes. Indicateurs d'optimiseur Elément Problème Résolution HINT Problème 5103 : PostgreSQL ne prend pas en charge l'indicateur %s (p. 318) 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. 319) 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. 319) Utilisez une autre méthode pour cette fonctionnalité. Déclaration du type de package utilisateur Problème 5569 : PostgreSQL prend uniquement en charge les variables de session en utilisant les types d'heure et de temps standard SQL (p. 319) Modifiez votre architecture avec une solution personnalisée pour le type d'utilisateur. PACKAGES Version 1.0 303 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Erreur d'analyse Elément Problème Résolution Parser Error Problème 5293 : Impossible de résoudre l'objet (p. 319) 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. 319) Examinez l'exception utilisée et, si possible, convertissezla 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. 320) Vous pouvez essayer d'inclure tous les champs de votre table dans une clause INTO. FOR UPDATE SKIP LOCKED Problème 5139 : PostgreSQL ne prend pas en charge FOR UPDATE SKIP LOCKED (p. 320) 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. 320) 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. 320) Procédez à une conversion manuelle. MODEL Problème 5126 : PostgreSQL ne prend pas en charge l'instruction MODEL (p. 320) 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. 320) Procédez à une conversion manuelle. PRAGMA SELECT Version 1.0 304 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution ROLLUP Problème 5557 : PostgreSQL ne prend pas en charge les fonctions GROUPING SETS, CUBE et ROLLUP (p. 320) 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. 320) 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. 320) 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. 321) Procédez à une conversion manuelle. Elément Problème Résolution synonyme privé Problème 5333 : Cet objet utilise un synonyme privé (p. 321) 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. 321) 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. 321) Vérifiez qu'un objet référencé créé après la conversion de synonyme existe. SEQUENCE Instructions Synonyme Paquet de système Elément Problème Résolution Package APEX_UTIL Problème 5503 : MySQL ne comporte pas de Essayez à nouveau à l'aide fonction similaire au module %s (p. 322) de l'Amazon Simple Workflow (Amazon SWF). Version 1.0 305 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution DBMS_DATAPUMP Problème 5502 : MySQL ne comporte pas de Essayez à nouveau à l'aide fonction similaire au module %s (p. 322) de l'AWS Import/Export Snowball. Module DBMS_JOB Problème 5501 : MySQL ne comporte pas de Essayez d'utiliser le service fonction similaire au module %s (p. 322) AWS Lambda avec les événements planifiés. Module UTL_MAIL Problème 5500 : MySQL ne comporte pas de Essayez d'utiliser fonction similaire au module %s (p. 322) Amazon Simple Notification Service (Amazon SNS). TRIGGERS 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. 322) 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. 322) 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. 322) 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. 322) Créez un déclencheur unique pour chaque composant du déclencheur composé. FOLLOWS | PRECEDES Problème 5241 : PostgreSQL ne prend pas en charge la clause FOLLOWS | PRECEDES (p. 322) 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. 323) Corrigez votre code pour remplacer la table imbriquée par une autre solution. REFERENCING Problème 5238 : PostgreSQL ne NEW AS .. OLD AS .. prend pas en charge les clauses REFERENCING (p. 323) 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. 323) Utilisez une autre méthode pour cette fonctionnalité. état = non valide Problème 5306 : Transformation à partir d'un déclencheur non valide (p. 323) Vérifiez que le déclencheur d'origine ne comporte pas d'erreurs et renouvelez la conversion. Version 1.0 306 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Elément Problème Résolution UPDATING(column_name) Problème 5556 : PostgreSQL ne prend pas en charge les prédicats conditionnels (p. 323) 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. 323) 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. 323) 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. 323) 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. 323) 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. 324) Procédez à une conversion manuelle. UDT 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. 324) 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. 324) Procédez à une conversion manuelle. FORALL Problème 5121 : PostgreSQL ne prend pas en charge l'instruction FORALL (p. 324) 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. 324) Utilisez le type de « tableau ». Version 1.0 307 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Universal Elément Problème Résolution Elément d'action universel Problème 5339 : L'objet %s n'est pas valide (p. 324) 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. 325) Procédez à une conversion manuelle. 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. 325) Procédez à une conversion manuelle. Objet inconnu Problème 5351 : La conversion automatique d'objet %s n'est pas prise en charge (p. 325) Procédez à une conversion manuelle. SQL non analysé Question 5576 : SQL non analysé (p. 325) 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. 325) 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 5558 : PostgreSQL ne prend pas en charge l'instruction UPDATE pour une PARTITION (p. 325) Insérez des données dans la partition susjacente 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 sous-requête (p. 325) Effectuez plutôt cette opération sur les tables sousjacentes. UPDATE Version 1.0 308 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL VIEW 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. 326) 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. 326) Procédez à une conversion manuelle. OID_TEXT IS NOT NULL Problème 5321 : PostgreSQL ne prend pas en charge l'objet view (p. 326) Procédez à une conversion manuelle. Clause PIVOT Problème 5077 : PostgreSQL ne prend pas en charge la clause PIVOT pour l'instruction SELECT (p. 326) Vous pouvez utiliser une procédure stockée pour préparer les données, puis retourner les données avec VIEW. ETAT = NON VALIDE Problème 5320 : PostgreSQL ne prend pas en charge une vue associée à l'état non valide (p. 326) Procédez à une conversion manuelle. VIEW_TYPE_OWNER Problème 5322 : PostgreSQL ne prend pas IS NOT NULL en charge une vue typée (p. 326) 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. 326) 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des fonctions intégrées SQL (BUILTIN 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 : Version 1.0 309 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 310 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 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. Version 1.0 311 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL 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, 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), Version 1.0 312 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL comm2 salary1 salary2 NUMERIC(3,0), DOUBLE PRECISION, 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. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 313 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 314 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion du SQL dynamique (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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 315 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. Version 1.0 316 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 317 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL 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. 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 318 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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_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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) Version 1.0 319 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 320 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 321 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion de 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. Version 1.0 322 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL 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. 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 323 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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é. Version 1.0 324 AWS Schema Conversion Tool Guide de l'utilisateur Référence de conversion d'Oracle vers PostgreSQL Problème 5591 : Le synonyme %s est système Procédez à une conversion manuelle. Rubriques connexes • Référence de conversion d'Oracle vers PostgreSQL (p. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 325 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. 297) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 130) Version 1.0 326 AWS Schema Conversion Tool Guide de l'utilisateur Conversion de schéma prise en charge de PostgreSQL vers MySQL • 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. DDL Instructions Tables Clause Conversion Détails automatique ALTER TABLE Oui Colonnes incrémentées automatiquement Oui Colonnes avec valeurs par Partielle défaut CREATE TABLE Oui Contraintes reportables Partielle DROP TABLE Oui Expression en tant que valeur par défaut pour une colonne Partielle 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. 373) Problème 6111 : MySQL ne prend pas en charge les contraintes reportables (p. 373) 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. 373) 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. 374) 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. 373) 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. 374) Clés primaires Oui Version 1.0 327 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique Tables standard Oui Héritage de table Non Problème 6108 : MySQL ne prend pas en charge les tables héritées (p. 375) 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. 373) Tables avec contraintes d'exclusion Partielle Problème 6112 : MySQL ne prend pas en charge les contraintes d'exclusion (p. 373) Tables sans colonnes Non Problème 6109 : MySQL ne prend pas en charge les tables typées (p. 375) Désactivation de déclencheur Non Problème 6087 : MySQL ne prend pas en charge les déclencheurs de désactivation (p. 375) Tables typées Non Problème 6110 : MySQL ne prend pas en charge les tables sans colonnes (p. 374) Problème 6120 : MySQL ne prend pas en charge les types de données définis par l'utilisateur (p. 378) Clés uniques Oui Tables non journalisées Non Problème 6107 : MySQL ne prend pas en charge les tables non journalisées (p. 375) DML Fonctions SQL intégrées Agrégation Clause Conversion Détails automatique Tous Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) Caractère Clause Conversion Détails automatique Tous Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) Version 1.0 328 AWS Schema Conversion Tool Guide de l'utilisateur DML Conversion Clause Conversion Détails automatique Tous Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) DateTime Clause Conversion Détails automatique Tous Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) Numérique Clause Conversion Détails automatique Tous Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) Autre Clause Conversion Détails automatique Tous Partielle Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) Fenêtrage Clause Conversion Détails automatique Toutes Non Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) XML Clause Conversion Détails automatique Toutes Non Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) Version 1.0 329 AWS Schema Conversion Tool Guide de l'utilisateur DML Jointures TRUNCATE TABLE Clause Conversion Détails automatique [NATURAL ] [ INNER ] JOIN Oui [NATURAL ] {LEFT | RIGHT |FULL } [ OUTER ] JOIN Oui CROSS JOIN Oui USING ( join_column [, ...] ) Oui Fonctions d'opérateurs et de date Opérateurs de chaîne de bits Clause Conversion Détails automatique ||,&,|,#,~,<<,>>, Oui Opérateurs Date/Heure Clause Conversion Détails automatique +,-,*,/ 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. 368) Problème 6661 : L'opération retourne le nombre de jours et non la valeur d'intervalle (p. 368) Opérateurs mathématiques Clause Conversion Détails automatique +,-,*,/, Oui %,^,|/,||/,!,!!,@,&,|,#,~,<<,>>, Opérateurs de chaîne Clause Conversion Détails automatique || Oui Version 1.0 330 AWS Schema Conversion Tool Guide de l'utilisateur DML Prédicats Prédicat SIMILAR Clause Conversion Détails automatique SIMILAR Non Problème 6607 : N'a pas pu convertir le modèle en version MySQL ; vérifier manuellement le modèle (p. 369) Conditions booléennes Clause Conversion Détails automatique Toutes Oui Condition de comparaison Clause Conversion Détails automatique '=, <>, <, <=, >, >= Oui ANY, SOME, ALL Oui Conditions Exists Clause Conversion Détails automatique EXISTS Oui Conditions In Clause Conversion Détails automatique IN Oui Conditions Null Clause Conversion Détails automatique NULL Oui Version 1.0 331 AWS Schema Conversion Tool Guide de l'utilisateur DML Conditions de correspondance de modèles Clause Conversion Détails automatique Toutes Oui Conditions de plage Clause Conversion Détails automatique Toutes Oui Opérateurs d'ensembles Opérateurs et fonctions de recherche de texte Clause Conversion Détails automatique EXCEPT Oui INTERSECT Oui UNION Oui Instructions INSERT Clause Conversion Détails automatique 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. 365) 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. 365) INSERT INTO table VALUES(); Oui INSERT INTO table Oui VALUES({ expression | DEFAULT } [, ...] ),VALUES({ expression | DEFAULT } [, ...] ) [, ...]; Version 1.0 332 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique 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 = { 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. 370) SELECT Clause Conversion Détails automatique Opérateur d'addition ou de Oui soustraction EXCEPT [ALL] Partielle FROM [ONLY] tablename [*] Non FROM { with_query_name | function_name()} Non FROM {(subquery) [ AS ] alias | (VALUES({ expression | DEFAULT } [, ...])) [ AS ] alias } Oui 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. 366) Problème 6603 : Impossible d'utiliser la fonction d'une clause from (p. 364) Problème 6612 : La requête assortie de l'opérateur INTERSECT/EXCEPT ALL a été transformée (p. 366) Version 1.0 333 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique LIMIT { count | ALL } OFFSET start { ROW | ROWS } Partielle Problème 6611 : L'option LIMIT/OFFSET a été omise (p. 367) OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY Partielle Problème 6611 : L'option LIMIT/OFFSET a été omise (p. 367) ORDER BY [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] Oui SELECT {* | expression [ [ AS ] output_name ] [, ...]} FROM table Oui SELECT {expression [ [ AS ] output_name ] [, ...]} Oui SELECT ALL Oui SELECT DISTINCT Oui SELECT DISTINCT ON Non UNION [ALL] 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 RECURSIVE with_query [, ...] Non Problème 6127 : MySQL ne prend pas en charge la clause WITH RECURSIVE (p. 370) Version 1.0 334 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique WITH with_query [, ...] Oui WINDOW DEFINITION DELETE Clause Conversion Détails automatique DELETE FROM table_name WHERE CURRENT OF cursor_name Non DELETE FROM table_name FROM from_list WHERE condition Oui 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. 362) DELETE FROM table_name RETURNING * Non Problème 6069 : MySQL ne prend pas en charge l'instruction DELETE avec l'option RETURNING (p. 362) 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 6672 : MySQL ne prend pas en charge la suppression par curseur (p. 362) Problème 6603 : Impossible d'utiliser la fonction d'une clause from (p. 364) SELECT Clause Conversion Détails automatique [ existing_window_name ] [ PARTITION BY expression [, ...] ] [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS Non Problème 6678 : MySQL ne prend pas en charge la fonction %s avec la clause OVER/ORDER BY/WITHIN GROUP/FILTER (p. 358) Version 1.0 335 AWS Schema Conversion Tool Guide de l'utilisateur DML Clause Conversion Détails automatique { FIRST | LAST } ] [, ...] ] [ frame_clause ] UPDATE Clause Conversion Détails automatique 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 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. 362) 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. 379) 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. 379) 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. 379) UPDATE table_name SET { column_name = Oui Version 1.0 336 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Clause Conversion Détails automatique { expression | DEFAULT }} [, ...] WHERE condition 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. 370) PL/pgSQL Instructions de base Affectation Clause Conversion Détails automatique Affectation de variable Partielle Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD (p. 370) Exécution d'une commande sans aucun résultat Clause Conversion Détails automatique PERFORM Oui Exécution d'une requête avec une seule ligne de résultat Clause Conversion Détails automatique INTO Non Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD (p. 370) Version 1.0 337 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Exécution de commandes dynamiques Clause Conversion Détails automatique EXECUTE, INTO, STRICT, USING Non Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique RETURN QUERY EXECUTE (p. 362) Catégorie Structure simple de PL/pgSQL Clause Conversion Détails automatique DECLARE, BEGIN, END Oui Conditions IF-THEN Clause Conversion Détails automatique IF, THEN, END IF Oui IF-THEN-ELSE Clause Conversion Détails automatique IF, THEN, ELSE, END IF Oui IF-THEN-ELSIF Clause Conversion Détails automatique IF, THEN, ELSE, ELSIF, END IF Oui CASE élaboré Clause Conversion Détails automatique CASE,WHEN, THEN, ELSE, END CASE Oui Version 1.0 338 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL CASE simple Clause Conversion Détails automatique CASE,WHEN, THEN, ELSE, END CASE Oui Curseurs CLOSE Clause Conversion Détails automatique CLOSE Oui Déclaration de variables Cursor Clause Conversion Détails automatique NO, SCROLL, CURSOR, FOR Non Problème 6337 : MySQL ne prend pas en charge une variable de type REFCURSOR (p. 360) FETCH Clause Conversion Détails automatique FETCH [ direction { FROM | IN } ] cursor INTO target; Partielle Problème 6639 : MySQL ne prend pas en charge la clause de direction (p. 360) MOVE Clause Conversion Détails automatique MOVE [ direction { FROM | IN } ] cursor; Non Problème 6640 : MySQL ne prend pas en charge l'option MOVE. (p. 360) OPEN FOR EXECUTE Clause Conversion Détails automatique OPEN, NO, SCROLL, FOR, EXECUTE, USING Non Problème 6337 : MySQL ne prend pas en charge une variable de type REFCURSOR (p. 360) Version 1.0 339 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Requête OPEN FOR Clause Conversion Détails automatique OPEN, NO, SCROLL, FOR Non Problème 6638 : MySQL ne prend en charge l'option SCROLL dans les curseurs (p. 360) Ouverture d'un curseur lié Clause Conversion Détails automatique OPEN bound_cursorvar [ ( [ argument_name := ] argument_value [, ...] ) ]; Oui Déclarations ALIAS Clause Conversion Détails automatique ALIAS FOR Oui Classement de variables PL/pgSQL Clause Conversion Détails automatique COLLATE Non Problème 6343 : MySQL ne prend pas en charge l'option COLLATE ; la conversion automatique ne peut pas être effectuée (p. 371) Copie de types Clause Conversion Détails automatique %TYPE, %ROWTYPE Oui Déclaration de paramètres de fonction Clause Conversion Détails automatique Déclaration de paramètres de fonction Oui Version 1.0 340 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Types d'enregistrement Clause Conversion Détails automatique Types d'enregistrement Oui Problème 6613 : Impossible de convertir une fonction sans paramètres OUT retournant un type RECORD (p. 364) Déclaration de variable Clause Conversion Détails automatique Déclaration de variable Oui Erreurs et messages CLOSE Clause Conversion Détails automatique RAISE ; Non Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 363) RAISE [ level ] condition_name [ USING option = expression [, ... ] ]; Non Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 363) 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. 367) RAISE [ level ] SQLSTATE 'sqlstate' [ USING option = expression [, ... ] ]; Non Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 363) RAISE [ level ] USING option = expression [, ... ]; Partielle Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport (p. 367) Obtention de l'état de résultat Clause Conversion Détails automatique GET [ CURRENT ] DIAGNOSTICS variable = item [ , ... ]; Non Problème 6665 : MySQL ne prend pas en charge la commande GET [CURRENT] DIAGNOSTICS (p. 363) Version 1.0 341 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL Options Clause Conversion Détails automatique 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. 363) MESSAGE, DETAIL, HINT, ERRCODE, Non Problème 6332 : MySQL ne prend pas en charge l'instruction RAISE pour les messages de rapport (p. 367) Paramètres d'état de résultat Clause Conversion Détails automatique COLUMN_NAME Oui CONSTRAINT_NAME Oui MESSAGE_TEXT Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) PG_DATATYPE_NAME Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) PG_EXCEPTION_CONTEXTNon Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) PG_EXCEPTION_DETAIL Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) PG_EXCEPTION_HINT Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) RETURNED_SQLSTATE Oui SCHEMA_NAME Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) TABLE_NAME Non Problème 6664 : MySQL ne prend pas en charge les informations de condition %s (p. 363) Boucles CONTINUE Clause Conversion Détails automatique CONTINUE, WHEN Oui Version 1.0 342 AWS Schema Conversion Tool Guide de l'utilisateur PL/pgSQL EXIT Clause Conversion Détails automatique EXIT, WHEN Oui FOR (Integer Variant) Clause Conversion Détails automatique FOR, IN, LOOP, END LOOP, REVERSE, BY Oui LOOP Clause Conversion Détails automatique LOOP, END LOOP Oui Boucle dans les tableaux Clause Conversion Détails automatique FOREACH, IN, LOOP, END LOOP, SLICE, IN ARRAY Non Problème 6608 : MySQL ne prend pas en charge les tableaux (p. 359) Boucle dans les résultats de requête Clause Conversion Détails automatique FOR, IN, LOOP, END LOOP, EXECUTE, USING Oui WHILE Clause Conversion Détails automatique WHILE, LOOP, END LOOP Oui Version 1.0 343 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL Instruction RETURN Commande NULL; Clause Conversion Détails automatique RETURN Oui RETURN NEXT Non RETURN QUERY Oui RETURN QUERY EXECUTE Non Problème 6604 : MySQL ne prend pas en charge la clause RETURN NEXT (p. 364) Problème 6334 : MySQL ne prend pas en charge l'instruction SQL dynamique RETURN QUERY EXECUTE (p. 362) 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. 358) 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. 358) 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. 358) 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. 359) Convertissez les opérandes dans le type attendu. Version 1.0 344 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL ARRAY Elément Problème Résolution ARRAY Problème 6608 : MySQL ne prend pas en charge les tableaux (p. 359) Procédez à une conversion manuelle. Fonction intégrée Elément Problème Résolution DateTime Problème 6677 : MySQL ne prend pas en charge le fuseau horaire (p. 359) Procédez à une conversion manuelle. Fonctions SQL intégrées (BUILT-IN SQL FUNCTIONS) Elément Problème Résolution Fonctions SQL intégrées (BUILT-IN SQL FUNCTIONS) Problème 6667 : MySQL ne prend pas en charge la fonction %s (p. 359) 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. 360) 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. 360) Procédez à une conversion manuelle. CURSOR avec l'option MOVE Problème 6640 : MySQL ne prend pas en charge l'option MOVE. (p. 360) 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. 360) 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. 360) Essayez d'utiliser des tables temporaires. CREATE CURSOR Version 1.0 345 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 361) 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. 361) Utilisez le plan de migration de schéma à base de données. 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. 361) 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. 361) 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. 362) 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. DELETE Version 1.0 346 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 WHERE CURRENT OF Problème 6672 : MySQL ne prend pas en charge la suppression par curseur (p. 362) 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. 362) Procédez à une conversion manuelle. Domaines SQL Dynamique (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. 362) 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. 363) 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. 363) TABLE_NAME| SCHEMA_NAME| PG_EXCEPTION_DETAIL| PG_EXCEPTION_HINT| PG_EXCEPTION_CONTEXT Procédez à une conversion manuelle. RAISE [exception] Examinez l'exception RAISE utilisée et, si possible, convertissez-la en exception à l'aide de l'instruction SIGNAL ou RESIGNAL. Problème 6329 : MySQL ne prend pas en charge l'exception RAISE (p. 363) Version 1.0 347 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL EXCEPTIONS Elément Problème Résolution EXCEPTIONS Problème 6342 : MySQL ne prend pas en charge le nom de condition %s (p. 363) 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. 364) Procédez à une conversion manuelle. QUERY Problème 6682 : Impossible d'utiliser la fonction table-value dans la clause from (p. 364) MySQL ne prend pas en charge la fonction tablevalue. 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. 364) Procédez à une conversion manuelle. RECORD Problème 6613 : Impossible de convertir une fonction sans paramètres OUT retournant un type RECORD (p. 364) 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. 364) Procédez à une conversion manuelle. VARIADIC Problème 6605 : MySQL ne prend pas en charge le mode VARIADIC d'un argument (p. 364) 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. 365) Procédez à une conversion manuelle. FROM FONCTION Fonctions Index Version 1.0 348 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 Index basés sur des expressions Problème 6090 : MySQL ne prend pas en charge les index sur les expressions (p. 365) 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. 365) 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. 365) 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. 365) 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é. INSERT 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. 366) 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. 366) Essayez de réécrire les variables sans utiliser d'étiquettes (labels). LABEL Version 1.0 349 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL LIMIT Elément Problème Résolution LIMIT, OFFSET Problème 6611 : L'option LIMIT/OFFSET a été omise (p. 367) Procédez à une conversion manuelle. 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. 367) 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. 367) Essayez d'utiliser INSERT dans la table de journal. Pour ce faire, vous devez 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. 368) 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. 368) 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. 368) Actuellement, le seul format pris en charge est un format ANSI SQL pour les littéraux de type interval. Procédez à une conversion manuelle. Version 1.0 350 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL ORDER BY Elément Problème Résolution NULLS FIRST|LAST Problème 6610 : Une transformation nulls first/last a été effectuée (p. 368) 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. 369) Procédez à une conversion manuelle. Parser Error (erreur d'analyse) Elément Problème Résolution Parser Error Problème 6663 : Impossible de résoudre l'objet (p. 369) 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 SIMILAR TO Problème 6607 : N'a pas pu convertir le modèle en version MySQL ; vérifier manuellement le modèle (p. 369) Procédez à une conversion manuelle. Modèles 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. 370) Procédez à une conversion manuelle. ROW/RECORD Problème 6668 : MySQL ne prend pas en charge le type ROW/RECORD (p. 370) 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. Version 1.0 351 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 DateTime Problème 6679 : Valeur non fixe dans la transaction de départ (p. 370) 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. 370) 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. 370) Utilisez une procédure stockée pour préparer les données ou réécrivez votre requête pour éviter la clause WITH. 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. 371) 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. 371) Vous devez utiliser les paramètres de classement (COLLATION) qui ont été affectés pendant la création de la base de données. Séquences Fonctions SQL Colonnes de table Elément Problème Résolution Types de données d'application : CIDR, INET, Problème 6006 : MySQL ne prend pas en charge le type %s (p. 371) Vérifiez le type de données cible et corrigez-le s'il ne convient pas. Version 1.0 352 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 ARRAY Problème 6008 : MySQL ne prend pas en charge les types de tableau pour la définition de colonne du tableau (p. 371) 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. 371) 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. 372) 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. 372) 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. 372) Si la représentation à deux points ne convient pas pour une raison quelconque, procédez à une conversion manuelle. Types de plage Problème 6009 : MySQL ne prend pas en charge les types de plage (p. 372) 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. 372) 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. 372) Procédez à une conversion manuelle. MACADDR, UUID, XML, JSON, JSONB, TSVECTOR, TSQUERY Version 1.0 353 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 Horodatages avec fuseau horaire Problème 6004 : MySQL ne prend pas en charge les informations de fuseau horaire pour le type de %s (p. 372) 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. 373) 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. 373) 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. Contraintes Problème 6112 : MySQL ne prend pas en charge les contraintes d'exclusion (p. 373) 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. 373) 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. Tables Version 1.0 354 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 6114 : MySQL ne prend pas en charge SET DEFAULT comme une action référentielle dans les clés étrangères (p. 373) 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. 373) 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. 374) 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. 374) Procédez à une conversion manuelle. Tables typées Problème 6107 : MySQL ne prend pas en charge les tables non journalisées (p. 375) 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. 375) Procédez à une conversion manuelle. Tables typées Problème 6109 : MySQL ne prend pas en charge les tables typées (p. 375) Procédez à une conversion manuelle. 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. 375) 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 Version 1.0 355 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éclencheurs de contrainte Problème 6082 : MySQL ne prend pas en charge les déclencheurs de contrainte (p. 375) 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. 375) Procédez à une conversion manuelle. DROP TRIGGER Problème 6086 : Impossible de transformer automatiquement l'abandon d'un déclencheur (p. 376) Procédez à une conversion manuelle. Déclencheurs Instead-of Problème 6084 : MySQL ne prend pas en charge les déclencheurs INSTEAD OF (p. 376) Procédez à une conversion manuelle. Plusieurs déclencheurs sur un même événement Problème 6085 : MySQL ne prend pas en Si le résultat d'une fusion charge plusieurs déclencheurs sur le même n'est pas approprié, procédez événement ; les déclencheurs sont fusionnés à une conversion manuelle. en un dans l'ordre alphabétique par nom de déclencheur (p. 376) 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. 377) 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. 377) Procédez à une conversion manuelle. Fonctions de déclencheur Problème 6650 : Impossible de convertir l'instruction avec TG_ARGV automatiquement (p. 377) 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. 378) 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. 378) Vérifiez si l'utilisation d'une valeur NULL à la place d'un champ de l'enregistrement non pris en charge est appropriée. 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. 378) Procédez à une conversion manuelle. Version 1.0 356 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL UDT Elément Problème Résolution CREATE TYPE, Problème 6120 : MySQL ne prend pas en ALTER TYPE, DROP charge les types de données définis par TYPE l'utilisateur (p. 378) Procédez à une conversion manuelle. 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. 378) Procédez à une conversion manuelle. Elément Problème Résolution FROM Problème 6669 : La clause FROM a été réécrite (p. 379) Procédez à une conversion manuelle. RETURNING Problème 6066 : MySQL ne prend pas en charge l'instruction UPDATE avec l'option RETURNING (p. 379) 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. 379) 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. 380) Procédez à une conversion manuelle. 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. 380) Réécrivez la requête view sans sous-requête ou créez VIEW Version 1.0 357 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 une table auxiliaire pour la sous-requête. Vues Elément Problème Résolution Valeurs par défaut des colonnes de la vue Problème 6072 : MySQL ne prend pas en charge les valeurs par défaut pour les colonnes de la vue (p. 380) Si la même fonctionnalité est nécessaire, procédez à une 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. 380) 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. 380) 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 358 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des fonctions SQL intégrées 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 359 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 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 360 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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 361 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion du SQL dynamique 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 362 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 363 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) Version 1.0 364 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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é. Version 1.0 365 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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). Version 1.0 366 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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) : Version 1.0 367 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL • RAISE_DEBUG • RAISE_LOG • RAISE_INFO • RAISE_NOTICE • RAISE_WARNING Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 368 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 369 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 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. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 370 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Version 1.0 371 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 372 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) 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 Version 1.0 373 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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 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. 373). 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. Version 1.0 374 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Problèmes de conversion des déclencheurs 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. Version 1.0 375 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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 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; Version 1.0 376 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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 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. Version 1.0 377 AWS Schema Conversion Tool Guide de l'utilisateur Informations de référence sur la conversion de PostgreSQL vers MySQL 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) Version 1.0 378 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. 130) • 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; 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Version 1.0 379 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 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 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. Version 1.0 380 AWS Schema Conversion Tool Guide de l'utilisateur Rubriques connexes Rubriques connexes • Informations de référence sur la conversion de PostgreSQL vers MySQL (p. 344) • Informations de référence sur AWS Schema Conversion Tool (p. 130) • Qu'est-ce qu'AWS Schema Conversion Tool ? (p. 1) Rubriques connexes • Informations de référence sur AWS Schema Conversion Tool (p. 130) • 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. 10) • Installation et mise à jour d'AWS Schema Conversion Tool (p. 5) Version 1.0 381 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.502 • Dernière date de mise à jour de la documentation : 20 décembre 2016 Modification Description Date de modification 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. 108). 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 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. 66). 20 décembre 2016 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. 123). 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. 83). 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 17 novembre 2016 Version 1.0 382 AWS Schema Conversion Tool Guide de l'utilisateur Modification Description Date de modification Optimisation d'Amazon Redshift à l'aide d'AWS Schema Conversion Tool (p. 105). 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. 68). 4 octobre 2016 Déplacer vers le cloud Vous pouvez maintenant 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. 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. 74). 4 octobre 2016 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. 83). 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. 116). 13 juillet 2016 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 Utilisation du kit d'extension AWS Schema Conversion Tool (p. 111). 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. 12). 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 Version 1.0 383 AWS Schema Conversion Tool Guide de l'utilisateur Modification Description Date de modification 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 384