IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[Paradox] Automatiser l'export de table en CSV [FAQ]


Sujet :

Bases de données Delphi

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut [Paradox] Automatiser l'export de table en CSV
    Bonjour,
    qq connait-il un utilitaire en ligne de commande qui permettrait d'exporter tout ou partie des champs d'une table Paradox en CSV ?

    Sinon un composant ou un source traitant du sujet ?

    La structure des tables Paradox, créées sous Delphi, est-elle identique pour les versions de Delphi 3 à 7 ?

    Merci

  2. #2
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    oui, SQL-View par exemple, peut s'utiliser en ligne de commande

    Il faut lui passer un script XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <sqlview-run> 
      <run connection="La connexion sur la base paradox">  
        <query> 
          select * 
          from latable 
        </query> 
        <output> 
          <file filename="c:\fichier.csv" 
                rewrite="true" 
                separator=";" 
                header="true"/> 
        </output> 
      </run> 
    </sqlview-run>
    Bloon

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Super !
    Merci

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Pour ceux que ça intéresse, vois 2 scripts dédié à l'export.

    Le premier parcourt un répertoire dédiée contenant les tables à exporter et pour chaque construit un fichier XML avec les noms de table approprié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    @Echo off
     rem ImportPdx.cmd
     rem Le nom du répertoire doit se terminer par un backslash '\' 
    Set DirPDXExport=C:\Temp\SqlView\
     
     rem Traiter tous les fichiers Paradox
    For %%I in (%DirPDXExport%\*.db) do call ::Traite "%%I"
    goto end
     
    :Traite
     rem exécute le SqlView pour le fichier courant
    Call MakeXML.cmd %1 "%DirPDXExport%"
     
    SqlView.exe /run="%XmlFile%" /quit=yes
     
    :end
    rem debug
    rem echo %FileDir%@
    rem echo %FileName%@
    rem echo %DirExport%@
    rem echo %FileExport%@
    rem echo %XmlFile%@
    rem echo %DirPDXExport%@
     
    set FileDir=
    set FileName=
    set DirExport=
    Set FileExport=
    set XmlFile=
    Set DirPDXExport=
    Le second crée le fichier XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    @echo off
     rem MakeXML.cmd
     rem Construit un fichier XML pour SQl-View dans le répertoire courant.
     rem %1 = le nom du fichier de la table concernée.
     rem %2 = le nom du répertoire où écrire le fichier CSV
     
     rem Récupére le nom du fichier sans extension
    For /F "tokens=*" %%I in ('echo %1') do set FileDir=%%~dpI& set FileName=%%~nI
     
     rem Supprime les guillemets du paramétre 2
    For /F "tokens=*" %%I in ('echo %2') do set DirExport=%%~dpI
     
     rem Construit le nom du fichier XML
    set XmlFile=%FileDir%%FileName%.XML
     
     rem Le nom fichier du fichier CSV utilisé par Sqlview
    Set FileExport=%DirExport%%FileName%.CSV
     
     rem Supprime l'ancien fichier s'il existe
    if exist "%XmlFile%" Del "%XmlFile%" /F
    set StrConnexion=ExportPDX
     
     rem génére le fichier XML pour la table courante
     rem le caractére ^ permet de ne pas interpréter les symboles de redirection ^< et ^>
    echo ^<?xml version="1.0" encoding="ISO-8859-1" ?^>>>"%XmlFile%"
    echo ^<sqlview-run^>>>"%XmlFile%"
    echo  ^<run connection="%StrConnexion%"^>>>"%XmlFile%"
    echo   ^<query^>>>"%XmlFile%"
    echo    select *>>"%XmlFile%"
    rem ici on insére le nom du fichier de la table paradox concernée
    echo    from %FileName%>>"%XmlFile%"
    echo   ^</query^>>>"%XmlFile%"
    Echo    ^<output^>>>"%XmlFile%"
    Echo     ^<file filename="%FileExport%">>"%XmlFile%"
    Echo       rewrite="true">>"%XmlFile%"
    Echo       separator=";">>"%XmlFile%"
    Echo       header="true"/^>>>"%XmlFile%"
    Echo   ^</output^>>>"%XmlFile%"
    Echo  ^</run^>>>"%XmlFile%"
    Echo ^</sqlview-run^>>>"%XmlFile%"

    Recopier toutes vos tables dans un répertoire dédiée, copier les scripts et l'exécutable SqlView dans ce même répertoire puis Ouvrez une console, placez-vous dans le même répertoire, exécutez ImportPdx.cmd.

    Il reste 2-3 petite choses à ajouter( Chemin vers SqlView,...) mais c'est exploitable tel que.
    Je vous laisse faire les adaptations et le support.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exporter une table en CSV
    Par achestyx dans le forum WinDev
    Réponses: 9
    Dernier message: 12/06/2009, 16h02
  2. Exporter une table MySQL vers un fichier CSV
    Par sam01 dans le forum Outils
    Réponses: 2
    Dernier message: 07/08/2007, 16h44
  3. [Macro]exporter une table vers un fichier.csv
    Par samca dans le forum IHM
    Réponses: 2
    Dernier message: 24/04/2007, 21h25
  4. [phpMyAdmin] Problèmes d'exportation de tables en CSV
    Par seb92500 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 31/10/2006, 10h53
  5. exporter des table en fichier csv
    Par kornmuse90 dans le forum Administration
    Réponses: 1
    Dernier message: 17/03/2006, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo