Question

Je travaille avec un client qui a un système existant, construit sur ce qui est apparemment une base de données Paradox. J'ai la base de données, sous la forme d'un fichier zip contenant les fichiers .DB, .MB et .PX, un pour chaque table.

Je dois prendre (certaines) de ces données et les importer dans une application Web utilisant MySQL. Quelqu'un at-il un moyen pour moi d'extraire ces données, cela ne nécessite pas l'installation de Paradox?

Si non, Paradox exporte-t-il dans un format lisible? Soit en SQL ou quelque chose qui peut être analysé assez facilement? Le responsable de ce système pour mon client est un bénévole (il s’agit d’un organisme à but non lucratif). Je voudrais donc lui proposer une solution - car la dernière fois que j’ai demandé les données, j’ai eu la est clairement pas bon.

Était-ce utile?

La solution

Les plates-formes Paradox pour DOS et Paradox pour Windows exporteront les tableaux de données aux formats Texte délimité, Texte de longueur fixe et Lotus 1-2-3. L'ancien Paradox pour DOS écrit également Lotus Symphony, tandis que le Paradox pour Windows légèrement moins ancien effectue un Excel 5 passable.

Cependant, quelqu'un devra s'asseoir et exporter les tables une par une ou écrire un script à cette fin. Bien sûr, Paradox doit être installé pour écrire le script.

-Al.

Autres conseils

L'article sur wikipedia sur Paradox répertorie deux autres choses qui pourraient être interessant, tous deux sous licence GPL:

Et si vous avez Delphi et que vous voulez écrire vous-même un convertisseur (qui aurait besoin du BDE pour fonctionner), vous pouvez jeter un oeil à cet article ou au code source de ConvertCodeLib sur ce site site . Les deux utilisent TClientDataset, qui peut écrire un CDS (format binaire) ou un fichier XML.

MS dispose de instructions sur l'utilisation du pilote MS Jet pour lire les données à partir de fichiers produits par Paradox. 3-5. Cela peut servir (au moins) de pilote ODBC. Vous pouvez donc l’utiliser pour lire un fichier Paradox à partir de tout ce qui sait utiliser ODBC.

Vous avez plusieurs options:

  1. Mettez la main sur le logiciel Paradox d'origine et utilisez-le pour exporter la base de données au format CSV format. Malheureusement, Borland ne le vend plus et la version la plus récente ne fonctionne pas correctement sous Windows XP ou supérieur.
  2. Accédez à la base de données à l’aide d’un pilote ODBC Paradox ou dBase / xBase. Paradox et xBase étant très similaires, vous pourrez peut-être extraire les données à l'aide de pilotes destinés à l'un ou l'autre. Vous pourrez peut-être vous procurer un pilote ODBC Paradox quelque part sur firebirdsql.org .
  3. Utilisez Borland Delphi pour écrire un programme qui exportera les données dont vous avez besoin. Comme quelqu'un d'autre l'a mentionné, vous pouvez obtenir une version gratuite appelée Explorateur Turbo . Vous devrez également installer le BDE séparément, car il ne vient pas avec Turbo Explorer.

Je travaille sur une migration de données gigantesque de Paradox vers MySQL. Mon approche générale consiste à exporter des fichiers CSV à partir de Paradox, puis à importer les fichiers CSV à partir de la ligne de commande MySQL. Toutefois, ce système tombe en panne lorsqu'il existe des champs M (mémo) dans Paradox, car ces données ne sont pas extraites dans le fichier CSV comme prévu.

Voici mon processus interminable d'obtention de données Paradox dans MySQL. J'espère que cela aidera quelqu'un!

  • Ouvrez le fichier Paradox dans Paradox, exportez-le dans le fichier dbase (.dbf). Cela exporte les données du mémo au format blob de dbase.

  • Ouvrez le fichier .dbf dans Paradox. Il peut être nécessaire de convertir le double format en entier long ou en nombre avant de l’ouvrir dans dbfviewer. Le double format semble ne pas fonctionner. Enregistrer le fichier.

  • Utilisez ce programme pour ouvrir le fichier dbase, puis exporter vers Excel: http://dbfviewer.org/ Exporter - > Fichier XLS & # 8230; cela l'ouvre dans Excel

  • Nous devons maintenant créer une macro car Excel ne dispose d'aucun moyen natif pour inclure des champs CSV avec des guillemets ou quoi que ce soit d'autre. J'ai collé la macro ci-dessous, mais voici les sites de référence que j'ai trouvés. Un site avait de meilleures instructions mais du texte corrompu: http://www.mrexcel.com /forum/showthread.php?320531-export-as-csv-file-enclosed-quotes http://www.markinns.com/articles/full/export_excel_csvs_with_double_quotes/

  • Dans Excel, remplacez tous les " par 'par CTRL-F, remplacez ... tout " dans les disques va gâcher

  • Dans Excel, appuyez sur ALT - F11 pour ouvrir les macros. Insérer - > Module Créez cette macro pour enregistrer les fichiers CSV entre guillemets:

    Sous-fichier CSV ()

    Dim SrcRg As Range
    Dim CurrRow As Range
    Dim CurrCell As Range
    Dim CurrTextStr As String
    Dim ListSep As String
    Dim FName As Variant
    FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    
    If FName <> False Then
    ListSep = Application.International(xlListSeparator)
    If Selection.Cells.Count > 1 Then
    Set SrcRg = Selection
    Else
    Set SrcRg = ActiveSheet.UsedRange
    End If
    Open FName For Output As #1
    For Each CurrRow In SrcRg.Rows
    CurrTextStr = ""
    For Each CurrCell In CurrRow.Cells
    CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
    Next
    While Right(CurrTextStr, 1) = ListSep
    CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
    Wend
    Print #1, CurrTextStr
    Next
    Close #1
    End If
    End Sub
    
  • Ensuite, exécutez - > Exécuter la macro

  • Configurez le schéma de base de données MySQL cible avec des champs de texte dans lesquels vous voulez que les blobs aillent

  • En ligne de commande MySQL, voici un exemple de la procédure d'importation:

    LOAD DATA LOCAL INFILE 'C: /data.csv' INTO TABLE nom_table ZONES TERMINÉES PAR ',' FERMÉ PAR '"' LIGNES TERMINÉES PAR '\ r \ n' (colonne1, colonne2)

Paradox est un format natif du moteur de base de données Borland, inclus dans divers produits de programmation Delphi. La propriété a changé de mains au moins une fois récemment, mais à un moment donné, il y avait des options "Express" gratuites. versions de Delphi disponibles qui vous permettraient d’écrire un programme simple pour exporter ce genre de choses. Si une version gratuite n'est plus disponible, la SKU la plus basse disponible doit inclure la fonctionnalité BDE.

À l’aide de MS Access 2007, vous pouvez importer Paradox 7 et les versions antérieures à l’aide de la distribution BDE fournie avec le programme gratuit Paradox Database Editor (google it). Utilisez une connexion telle que:

DoCmd.TransferDatabase acImport, "ODBC Database", _
    "Paradox 3.X;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=C:\apache\Archive;TABLE=Messages#db", _
    acReport, DailyArchiveName, "MyDatabase"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top