Exportation des données de la base de données vers un fichier CSV

Microsoft Access (2007, 2003) |MySQL|Postgres |MS SQL Server |Oracle|L’éditeur de données d’entreprise

SpatialKey nécessite que les données soient téléchargées et importées au moyen d’un fichier CSV avant qu’un ensemble de données puisse être importé. Nous avons essayé de rendre le processus d’importation aussi amusant et simple que possible, mais SpatialKey ne peut pas vous aider à obtenir vos données au format CSV. Dans de nombreux cas, les données précieuses auxquelles vous avez besoin d’accéder seront enfermées dans une base de données. Il existe de nombreux types de bases de données, et la plupart d’entre elles ont des capacités pour vous aider à exporter vos données au format CSV, mais elles sont généralement spécifiques à la base de données en question.

Cet article a pour objectif d’examiner comment obtenir des données au format CSV à partir de nombreuses bases de données et systèmes de gestion de bases de données poplar sur le marché aujourd’hui. Si vous n’avez pas accès à la base de données où résident vos données et que vous avez un administrateur de base de données ou un personnel informatique qui génère vos rapports pour vous, transmettez le lien vers cet article lorsque vous demandez des données pour SpatialKey car cela peut également leur faire gagner du temps.

Veuillez noter que cet article traite de l’utilisation des commandes SQL (Structured Query Language) nécessaires pour s’exécuter sur une base de données et est destiné aux utilisateurs qui connaissent SQL et les outils de la base de données qu’ils utilisent couramment.

Accès Microsoft:

Microsoft Access est une base de données populaire basée sur des fichiers utilisée généralement par de petites organisations avec un nombre limité d’utilisateurs et par des individus. Les données MS Access sont accessibles à l’aide de l’application MS Access de manière visuelle ainsi que via des approches SQL traditionnelles. Comme MS Access a récemment subi un changement majeur de l’interface utilisateur, nous explorerons les versions 2007 et 2003 de l’application (si vous travaillez avec une version plus ancienne, des techniques similaires devraient également être disponibles).

Access 2007 :

Dans la première figure (1.1) vous pouvez voir que j’ai ouvert la base de données d’exemple standard fournie avec MS Access (appelée Northwind). J’ai également sélectionné la requête appelée « Les dix premières commandes par montant des ventes »” À cette requête, j’ai ajouté des informations d’adresse client car SpatialKey aime les données qui contiennent des données temporelles (heure et date) et géospatiales (données pouvant être traduites en un emplacement).

Fig. 1.1-MS Access 2007

À partir d’ici, je peux facilement exporter les résultats dans un fichier CSV:

  1. Cliquez sur la table ou la requête à partir de laquelle exporter (dans cet exemple « Les dix premières commandes par Montant des ventes” à gauche)
  2. Cliquez sur l’onglet « Données externes” en haut de la fenêtre
  3. Dans la section « Exporter”, cliquez sur « Fichier texte” et un assistant apparaîtra
  4. Dans la section « Exporter », cliquez sur « Fichier texte » et un assistant apparaîtra
  5. Choisissez un emplacement pour le fichier CSV exporté et nommez votre fichier (assurez-vous que le fichier se termine par un.Sur l’écran suivant, assurez-vous que l’option « Délimitée” est sélectionnée
  6. Cliquez sur le bouton « Avancé…” en bas à gauche de la fenêtre
  7. SpatialKey stocke ses données en tant qu’Unicode UTF-8, nous devons nous assurer que les données sont exportées dans ce format
    1. Cliquez sur la liste déroulante à côté de Code-Page
    2. Choisissez Unicode (UTF-8) dans la liste des options
    3. /li>
    4. Cliquez sur OK
  8. De retour dans la fenêtre de texte d’exportation, cliquez sur « Suivant”
  9. Assurez-vous que « Virgule” est sélectionné comme délimiteur et que le qualificateur de texte est un guillemet double: « 
  10. Cochez la case « Inclure les noms de champs sur la Première ligne » (à sélectionner)
  11. Cliquez sur « Suivant »
  12. Vérifiez le nom et l’emplacement du fichier et cliquez sur « Terminer”
  13. L’écran final de l’assistant vous donne la possibilité d’enregistrer les étapes permettant une réexportation facile des données à l’avenir. Si vous prévoyez avoir besoin de mettre à jour les données dans SpatialKey, cochez la case pour gagner du temps à l’avenir. Fermez la fenêtre lorsque vous avez terminé.

Si vous ouvrez le fichier dans un éditeur de texte, vous devriez voir quelque chose comme ceci:

Fig. 1.2- Données Northwind exportées

Maintenant, vous êtes prêt à télécharger le nouveau fichier CSV sur SpatialKey.

MS Access 2003:

La figure suivante montre l’ancienne version MS Access 2003 de la base de données Northwind. Je vais exporter la requête enregistrée appelée « Commandes Qry » sur la gauche.

Fig. 1.3-MS Access 2003 Base de données Northwind

Permet d’exporter le fichier CSV:

  1. Assurez-vous que la table ou la requête est sélectionnée, cliquez sur le menu Fichier et choisissez « Exporter…”
  2. L’assistant d’exportation commencera
  3. Sélectionnez l’emplacement des données exportées et nommez votre fichier (assurez-vous de définir l’extension de fichier comme.csv)
  4. Changez le type de sauvegarde sous: en « Fichiers texte”
  5. Cliquez sur « Exporter”

Suivez les étapes 6 à 14 sous les instructions d’Access 2007 ci-dessus car elles sont les mêmes à partir de ce moment

Maintenant, vous êtes prêt à télécharger le nouveau fichier CSV sur SpatialKey.

MySQL:

MySQL est une base de données open source d’entreprise populaire. De nombreux outils sont disponibles pour interagir avec cette base de données, mais comme pour la plupart des bases de données d’entreprise, la plupart des accès se font via un langage de requête structuré. Il existe quelques options pour exporter des données au format CSV à partir de MySQL. Certains nécessitent des outils tiers, tandis qu’un autre utilise un outil en ligne de commande (utile sur les machines Unix) et une option finale via SQL. Jetons un coup d’œil aux deux dernières options:

Outil de ligne de commande MySQL (sous Unix):

mysql -u exampleuser -p letmein exampledb -B -e "select * from\'person\';" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv

Alors, qu’est-ce que tout cela signifie?

  • mysql : le fichier exécutable (devrait être l’endroit où MySQL est installé)
  • – u exampleuser: un commutateur et une option pour le nom d’utilisateur pour exécuter le SQL avec
  • -p letmein: un commutateur et une option pour le mot de passe de l’utilisateur
  • exampledb: la base de données pour exécuter le SQL contre
  • – B: indique que la sortie doit être délimitée par des tabulations (nous le convertirons en virgules plus tard dans la commande)
  • -e  » l’instruction SQL voici ” : l’instruction SQL à exécuter renvoyant vos données
  • |sed’s/\t/”,”/g; s/^/”/; s/$/”/;s/\n//g ’ : sed est un processeur de flux Unix, permettant essentiellement des transformations dans ce cas. Ici, nous avons quatre commandes sed qui changent les onglets en guillemets doubles, ajoutent des guillemets doubles au début et à la fin de chaque ligne et ajoutent un nouveau marqueur de ligne à la fin de chaque ligne.
  • >nom du fichier.csv : affiche les résultats dans le fichier nommé filename.csv

Maintenant, vous êtes prêt à télécharger le nouveau fichier CSV sur SpatialKey.

Syntaxe SQL MySQL:

SELECT column_a,column_b,column_c+column_d INTO OUTFILE '/tmp/result.csv'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'LINES TERMINATED BY '\n'FROM test_table;

L’instruction MySQL select utilise une commande INTO OUTFILE pour afficher les résultats de SQL select dans un fichier (dans ce cas /tmp/result.csv).

Quelques remarques:

  • Dans les deux cas, le fichier est enregistré à un emplacement local à partir duquel la base de données est exécutée (sur la même machine, ou sur un support / lecteur disponible pour la machine)
  • La ligne d’en-tête devra être ajoutée aux deux fichiers (ce qui peut être fait à l’aide de n’importe quel éditeur de texte ou tableur)

Maintenant, vous êtes prêt à télécharger le nouveau fichier CSV sur SpatialKey.

Postgres:

Postgres est une autre base de données open source populaire prête pour l’entreprise. De nature similaire à MySQL, il existe de nombreux outils tiers (y compris pgAdmin de Postgres) pour gérer et administrer la base de données. Le meilleur pari pour exporter des données CSV à partir de Postgres est d’utiliser une commande SQL spécifique à Postgres appelée COPY:

COPY (SELECT column_a,column_b FROM whatever) TO '/tmp/dump.csv' WITH CSV HEADER

Cette commande est extrêmement rapide et produit un fichier CSV correctement formaté, y compris les en-têtes.

Vous êtes maintenant prêt à télécharger le nouveau fichier CSV sur SpatialKey.

Serveur MS SQL:

SQL Server est une base de données disponible dans le commerce de Microsoft (il existe également une version plus petite et moins en vedette appelée SQL Server Express qui est disponible en téléchargement gratuit). SQL Server est une base de données prête pour l’entreprise utilisée par de nombreuses entreprises à travers le monde. Au fil des ans, il y a eu de nombreux outils de gestion à la fois de tiers et de Microsoft (Enterprise Manager, Management Studio et via MS Developer Studio, par exemple). Deux options pour exporter au format CSV à partir d’un serveur MS SQL sont l’utilisation de l’outil de ligne de commande BPC (Bulk Copy Program) ou via des services de transformation de données.

BCP:

Le programme de copie en bloc peut être exécuté à partir d’une ligne de commande ou via SQL.

  • Ligne de commande:
    • BCP <nom de la table >out <nom du fichier.csv> -c -t, -U <user name> -P <password> -S<server name>
    • Switches:
      • -c : export as ASCII with a tab delimiter and carriage return/line feed line terminator
      • -t, : override the tab delimiter with a comma
      • -U : username
      • -P : password
      • -S : server to connect to
  • SQL:
    • MS SQL Server a une commande Transact-SQL appelée xp_cmdshell, cette commande vous permet d’exécuter des exécutables en ligne de commande à partir de SQL
    • xp_cmdshell BCP <nom de la table >out < nom du fichier .csv >-c-t, -T-S < nom du serveur >
      • Notez que j’ai changé les -U et –P en a-T qui utilise une connexion de confiance car nous nous authentifions probablement déjà sur la machine SQL server pour exécuter la commande SQL.

DTS:
Les paquets DTS peuvent être créés à l’aide de scripts SQL ou via une interface utilisateur MS.

  1. Dans Enterprise Manager, choisissez >Assistants >Transformation des données >Exporter les données
  2. Choisissez votre base de données source
  3. Pour la destination, sélectionnez un fichier texte et spécifiez le fichier de destination et le nom de fichier avec a.extension csv
  4. Définissez la table ou la requête pour extraire les données de
  5. Définissez l’option selon laquelle la première ligne contient des informations de colonne
  6. À l’écran pour sélectionner le délimiteur, assurez-vous que la virgule est sélectionnée
  7. Exécutez le package

Maintenant, vous êtes prêt à télécharger le nouveau fichier CSV sur SpatialKey.

Oracle:

Oracle est une base de données disponible dans le commerce qui a un large public dans les grandes entreprises. Comme SQL Server, Oracle est une base de données prête pour l’entreprise. Les options d’extraction au format CSV à l’aide d’Oracle incluent l’utilisation d’Oracle SQL Developer (un outil gratuit d’Oracle) et l’utilisation directe de PL/SQL (généralement en créant une procédure stockée car elle est un peu plus basée sur le code que les autres solutions de base de données).

Développeur Oracle SQL :

C’est de loin le moyen le plus simple pour quelqu’un qui ne connaît pas les procédures stockées PL/SQL complexes d’exporter des données.

Une façon de le faire est de créer un rapport dans SQL Developer et d’exporter les résultats

  1. Une fois le rapport créé et exécuté, faites un clic droit sur la grille de résultats et choisissez « Exporter » dans le menu contextuel
  2. Dans l’écran suivant, sélectionnez CSV comme format et entrez le nom de fichier.csv et location

Vous pouvez également exporter une seule table en :

  1. Cliquez avec le bouton droit sur le nom de la table dans l’arborescence des objets.
  2. Sélectionnez Exporter.
  3. Sélectionnez CSV. La fenêtre Exporter les données s’affiche.
  4. Cliquez sur l’onglet Format.
  5. Sélectionnez le format comme: CSV
  6. Entrez un nom de fichier et un emplacement.
  7. Cliquez sur l’onglet Colonnes.
  8. Vérifiez les colonnes que vous souhaitez exporter
  9. Cliquez sur l’onglet Where et ajoutez les critères nécessaires pour filtrer les données
  10. Cliquez sur Appliquer.

PL/SQL:

La meilleure façon d’exporter des données via PL/SQL est de créer une procédure stockée qui utilise la commande UTL_FILE.

Pour un excellent exemple de procédure stockée pour cela, veuillez consulter cet article à oracle.com . Notez qu’il est recommandé de modifier la procédure stockée d’origine située dans les commentaires (gère correctement la citation des données avec des caractères CSV réservés).

Vous êtes maintenant prêt à télécharger le nouveau fichier CSV sur SpatialKey.

L’éditeur de données d’entreprise :

Pour nos clients d’entreprise qui ont de grandes quantités de données à importer ou qui ont besoin de données fréquemment mises à jour dans SpatialKey, nous proposons un produit supplémentaire appelé l’éditeur de données d’entreprise. Il s’agit d’un produit basé sur un service qui s’exécute en coulisses (et votre pare-feu) et qui peut être planifié pour transférer automatiquement des données vers SpatialKey à partir de vos bases de données. Si vous souhaitez en savoir plus sur les capacités et le coût de l’éditeur de données d’entreprise, veuillez nous envoyer un e-mail en vous rendant sur notre page Contactez-nous. Nous serions heureux de vous aider avec vos besoins en données!

En conclusion, SpatialKey a besoin de vos données pour briller ! Produire des données à partir d’une base de données existante ne doit pas être une tâche ardue comme le montrent les étapes énumérées ci-dessus, et constitue une première étape importante pour vraiment déverrouiller vos données!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *