Utilisez la fonctionnalité Data Import du service Data Management Service (DMS) pour importer rapidement de grands volumes de données depuis des fichiers (SQL, CSV, Excel) vers votre base de données.
Prérequis
-
La base de données doit être de l'un des types suivants :
MySQL : RDS for MySQL, PolarDB for MySQL, MyBase for MySQL, PolarDB-X, AnalyticDB for MySQL ou d'autres sources MySQL.
SQL Server : RDS for SQL Server, MyBase for SQL Server ou d'autres sources SQL Server.
PostgreSQL : RDS for PostgreSQL, PolarDB for PostgreSQL, MyBase for PostgreSQL, AnalyticDB for PostgreSQL ou d'autres sources PostgreSQL.
MariaDB : RDS for MariaDB ou d'autres sources MariaDB.
OceanBase.
PolarDB for PostgreSQL (Compatible with Oracle).
DM.
DB2.
Oracle.
Redis.
MongoDB.
Vous êtes connecté à l'instance de base de données dans la console DMS.
Vous disposez des autorisations change sur la base de données de destination.
Limites
La taille d'un seul fichier SQL, CSV ou Excel importé ne peut pas dépasser 5 Go. Pour importer plus de 5 Go de données, utilisez le service Data Transmission Service (DTS) afin de migrer les données. Pour plus d'informations, consultez Scénarios de migration.
DMS prend en charge le téléchargement de pièces jointes au format ZIP. Pour importer plusieurs fichiers via un seul ticket, compressez-les dans une seule archive
.zipavant de les télécharger.Vous ne pouvez pas modifier plusieurs bases de données dans un seul ticket Data Import. Pour modifier plusieurs bases de données, soumettez un ticket normal data modify.
Pour des modifications mineures de données, utilisez un ticket normal data modify ou DML lock-free change afin de garantir la stabilité.
Si un script d'importation de données par lot contient des instructions de modification du schéma, celles-ci sont exécutées en mode natif. Elles ne sont pas exécutées en mode sans verrouillage, même si la modification du schéma sans verrouillage est activée pour l'instance.
Afin d'éviter d'affecter les performances de la base de données lors d'une importation de données par lot, utilisez des instructions SQL efficaces, telles que les instructions
INSERT,UPDATEouDELETEqui utilisent une clé primaire.Le fichier CSV ou Excel importé (Fichiers exemples) doit contenir uniquement les noms de champs et les valeurs de champ. Tout autre contenu dans le fichier entraîne l'échec de l'importation.
Procédure
Cet exemple utilise une base de données ApsaraDB RDS for MySQL en mode de contrôle Security Collaboration.
Connectez-vous à DMS 5.0.
-
Placez le pointeur sur l'icône

située dans le coin supérieur gauche de la console DMS, puis choisissez .RemarqueSi vous utilisez la console DMS en mode normal, choisissez dans la barre de navigation supérieure.
-
Sur la page Data Change Tickets, configurez les paramètres. Le tableau suivant décrit certains des paramètres clés.
Paramètre
Description
Database
Recherchez la base de données de destination. Vous ne pouvez sélectionner qu'une seule base de données.
RemarquePour que les instances de base de données en mode de contrôle Flexible Management ou Stable Change apparaissent dans la liste déroulante, connectez-vous d'abord à celles-ci dans DMS.
Vous pouvez également effectuer une recherche en saisissant le point de terminaison de connexion à la base de données, par exemple
test_db@rm-2zegs****.mysql.rds.aliyuncs.com:3306 [example].
Business Background
Indiquez la raison commerciale de l'importation afin d'accélérer le processus de révision.
File Encoding
Encodage des caractères du fichier d'importation. Le système sélectionne par défaut Automatic Identification. Autres valeurs possibles :
UTF-8
GBK
ISO-8859-1
Import Mode
Mode d'importation des données. Deux modes sont pris en charge :
Speed Mode : lit le fichier pendant la phase d'exécution et exécute directement les instructions SQL sur la base de données de destination spécifiée. Ce mode est plus rapide mais moins sécurisé que le mode Security Mode.
RemarquePar défaut, les règles de sécurité n'autorisent pas l'importation de données en Speed Mode. Un administrateur ou un DBA peut activer cet élément de vérification dans pour l'instance.
Security Mode : analyse le fichier et met en cache les données SQL ou CSV pendant la phase de précontrôle, puis exécute la tâche à partir du cache. Ce mode est plus sécurisé mais plus lent que le mode Speed Mode.
File Type
Sélectionnez le type de fichier à importer :
SQL Script : en mode Security Collaboration, seuls les types de commandes
INSERTetREPLACEsont autorisés par défaut. Pour modifier ce paramètre, un DBA ou un administrateur peut ajuster cette configuration dans Security Rules > SQL Change > Batch Data Import.CSV : le délimiteur dans le fichier doit être une virgule.
Excel : le fichier Excel peut comporter une ligne d'en-tête (pour les noms de colonnes) ou contenir uniquement des données.
RemarquePour les fichiers CSV ou Excel, la table cible doit déjà exister.
Destination Table Name
Sélectionnez la table de destination pour l'importation des données.
RemarqueCe paramètre n'est disponible que si vous définissez File Type sur CSV ou Excel.
Data Location
Spécifiez la position de départ des données :
1st behavioral attributes : la première ligne du tableau contient les noms de champs.
1st behavioral data : la première ligne du tableau contient des données.
RemarqueCe paramètre n'est disponible que si vous définissez File Type sur CSV ou Excel.
Write Mode
Méthode d'écriture des données :
INSERT : la base de données vérifie la clé primaire lors de l'insertion. Une erreur est signalée si une clé en double est trouvée.
INSERT_IGNORE : si un enregistrement avec la même clé existe déjà, les nouvelles données sont ignorées.
REPLACE_INTO : si une ligne du tableau possède la même valeur de clé primaire ou d'index unique, la ligne existante est supprimée, puis la nouvelle ligne est insérée.
RemarqueCe paramètre n'est disponible que si vous définissez File Type sur CSV ou Excel.
Les bases de données RDS for MySQL, PolarDB for MySQL, PolarDB-X, AnalyticDB for MySQL et OceanBase prennent en charge les trois méthodes d'écriture :
INSERT INTO,INSERT IGNOREetREPLACE INTO. Les autres bases de données ne prennent en charge queINSERT INTO.
Attachment
Prend en charge Upload File (fichier local) et Upload OSS Object.
Pour télécharger un fichier depuis OSS, vous devez d'abord ajouter la source de données OSS cible dans DMS. Ensuite, cliquez sur Upload OSS Object, sélectionnez le bucket cible et saisissez le chemin d'accès au fichier, par exemple
examplefolder/example.sql.RemarqueLes types de fichiers pris en charge sont SQL, CSV, TXT, XLSX et ZIP.
La taille de la pièce jointe ne peut pas dépasser 5 Go.
Pour ajouter une source de données OSS, consultez Ajouter une base de données ApsaraDB.
Other Options (Facultatif)
Indiquez s'il faut ignorer les exceptions.
Non coché (par défaut) : lorsqu'une exception se produit, le système arrête l'exécution des instructions SQL suivantes et signale une erreur.
Coché : le système ignore les exceptions et continue d'exécuter les instructions SQL suivantes.
-
Cliquez sur Submit et attendez la fin du précontrôle. Si le précontrôle échoue, examinez le message d'erreur, résolvez le problème, puis cliquez sur Retry.
RemarqueLe système effectue un précontrôle du fichier SQL téléchargé. Si vous téléchargez un fichier CSV, le système génère les instructions
INSERTcorrespondantes.Si une erreur se produit lors de la vérification du type pendant la phase de précontrôle, vous pouvez ajuster les règles de sécurité associées à l'instance en fonction du message d'erreur. Pour plus d'informations, consultez Modification des données.
Dans la section Approval, cliquez sur Submit for Approval, puis cliquez sur OK dans la boîte de dialogue Prompt.
Une fois le ticket approuvé, dans la section Execute, cliquez sur Execute Change.
-
Dans la boîte de dialogue Task Settings, sélectionnez une méthode d'exécution.
Les méthodes d'exécution sont les suivantes :
Running Immediately : par défaut. La tâche s'exécute immédiatement après avoir cliqué sur Confirm Execution.
Schedule : sélectionnez une heure de début pour la tâche. La tâche s'exécute automatiquement à l'heure spécifiée après avoir cliqué sur Confirm Execution.
RemarquePendant l'exécution, le système lit les instructions SQL analysées en flux continu et les exécute par lots dans la base de données. La taille de chaque lot est de 1 Mo.
Vous pouvez consulter l'état de la tâche, les détails de la vérification SQL et les journaux de planification dans la section Execution.
-
Lorsqu'une tâche en pause est redémarrée, son comportement dépend du mode d'importation :
Speed Mode : l'exécution du script ou l'importation du fichier de données recommence depuis le début.
Security Mode : l'exécution du script ou l'importation du fichier de données reprend à partir du point de pause.
Un message de confirmation s'affiche lorsque la tâche est terminée.
-
(Facultatif) Interrogez les données importées.
Accédez à la page SQL Console pour interroger les données importées. Pour plus d'informations, consultez Prise en main de SQL Console.
Fichiers exemples
FAQ
-
Q : Que faire si une erreur « permission denied for schema XXXXX » se produit lors de l'importation des données ?
R : Cette erreur indique que le compte de base de données utilisé pour se connecter à DMS ne dispose pas des autorisations suffisantes. Essayez de vous connecter à DMS avec un compte de base de données privilégié et retentez l'importation, ou essayez d'importer les données dans une autre base de données publique. Pour changer de compte de base de données, consultez Modifier les informations de l'instance.
Si le problème persiste, utilisez le service Data Transmission Service (DTS) pour migrer les données. Pour plus d'informations, consultez Scénarios de migration.
-
Q : Que faire si le ticket d'importation de données échoue au précontrôle et qu'un message indique que la soumission de XXXX instructions de modification n'est pas autorisée ?
R : Un administrateur ou un DBA doit modifier les règles de sécurité de modification SQL pour autoriser ce type d'instruction SQL lors de l'importation. L'exemple suivant montre comment autoriser les instructions
CREATE_TABLE:Dans la console DMS, accédez à la page Security Rules.
Modifiez la règle de destination. Sur la page des détails de la règle, cliquez sur SQL Correct dans le volet de gauche.
Sélectionnez Batch Data Import Rules et cliquez sur Edit à droite de la règle Allow bulk import of insert statements.
Ajoutez le type SQL
CREATE_TABLEet cliquez sur Submit. Pour plus d'informations, consultez Modification SQL.Une fois la règle modifiée, revenez à la page des détails du ticket d'importation de données et cliquez sur Retry dans la section Precheck.
-
Q : Que faire si le fichier à télécharger est supérieur à 5 Go ?
R : Choisissez l'une des méthodes suivantes :
Divisez le fichier en fichiers plus petits et soumettez plusieurs tickets pour les télécharger.
Utilisez Navicat pour vous connecter à distance à la base de données, puis téléchargez le fichier.
Utilisez le service Data Transmission Service (DTS) pour migrer les données. DTS prend en charge la migration de données à grande échelle sans limite de taille de fichier. Pour plus d'informations, consultez Scénarios de migration.
-
Q : Comment supprimer des données qui ont été importées incorrectement ?
R : La méthode de suppression dépend du volume de données.
-
Petit volume de données
Exécutez une instruction
DELETEdans la console SQL de DMS. Pour plus d'informations, consultez Utiliser des instructions SQL pour modifier les données d'une table. -
Grand volume de données
Soumettez un ticket Normal Data Modify ou DML Lock-Free Change pour supprimer les données de la table. La fonctionnalité DML Lock-Free Change vous permet de modifier de grandes quantités de données de table sans verrouiller la table. Pour plus d'informations, consultez Modification standard des données et Modification DML sans verrouillage.
-