Pregunta

Estoy trabajando con un cliente que tiene un sistema existente, basado en lo que aparentemente es una base de datos de Paradox. Tengo la base de datos, en forma de un archivo zip que contiene archivos .DB, .MB y .PX, uno para cada tabla.

Necesito tomar (algunos) de estos datos e importarlos a una aplicación web que usa MySQL. ¿Alguien tiene alguna forma de extraer estos datos que no implique la instalación de Paradox?

Si no, ¿Paradox exporta en algún formato legible? ¿Ya sea como SQL o algo que pueda ser analizado razonablemente fácilmente? La persona a cargo de este sistema para mi cliente es un voluntario (es una organización sin fines de lucro), por lo que me gustaría acudir a él con una solución, porque la última vez que solicité los datos, obtuve esta, que claramente no es bueno.

¿Fue útil?

Solución

Tanto las plataformas Paradox para DOS como Paradox para Windows exportarán tablas de datos en formatos de Texto delimitado, Texto de longitud fija y Lotus 1-2-3. La Paradox para DOS más antigua también escribe Lotus Symphony, mientras que la Paradox para Windows, un poco menos antigua, hace un Excel 5 pasable.

Sin embargo, alguien tendrá que sentarse y exportar las tablas una por una, o escribir un script para hacerlo. Por supuesto, necesitarías tener Paradox instalado para escribir el script.

-Al.

Otros consejos

El artículo de wikipedia sobre Paradoja enumera otras dos cosas, que podrían ser Interesante, ambos bajo licencia GPL:

Y si tiene Delphi y desea escribir un convertidor (que necesitaría el BDE para funcionar), puede consultar este artículo o en el código fuente de ConvertCodeLib en esta web sitio . Ambos hacen uso de TClientDataset, que puede escribir un CDS (formato binario) o un archivo XML.

MS tiene instrucciones para usar el controlador MS Jet para leer datos de archivos producidos por Paradox 3-5. Eso puede actuar como (al menos) un controlador ODBC, por lo que puede usarlo para leer un archivo de Paradox de casi cualquier cosa que sepa cómo usar ODBC.

Tienes algunas opciones:

  1. Ponga sus manos en el software Paradox original y utilícelo para exportar la base de datos a CSV formato. Desafortunadamente, Borland ya no lo vende y la versión más reciente no funciona bien en Windows XP o superior.
  2. Acceda a la base de datos utilizando un controlador ODBC de Paradox o dBase / xBase. Paradox y xBase son muy similares, por lo que es posible que pueda extraer los datos utilizando controladores diseñados para cualquiera de ellos. Es posible que pueda obtener un controlador ODBC de Paradox en algún lugar en firebirdsql.org .
  3. Use Borland Delphi para escribir un programa que exportará los datos que necesita. Como alguien más mencionó, puede obtener una versión gratuita llamada Turbo Explorer . También tendrá que instalar el BDE por separado, ya que no viene con Turbo Explorer.

He estado trabajando en una migración de datos gigantesca de Paradox a MySQL. Mi enfoque general ha sido exportar archivos CSV desde Paradox, y luego importar los archivos CSV desde la línea de comandos de MySQL. Sin embargo, este sistema se descompone cuando hay campos M (memo) en Paradox, porque esos datos no se introducen en el archivo CSV como se esperaba.

Este es mi largo proceso para obtener datos de Paradox en MySQL, ¡espero que ayude a alguien!

  • Abra el archivo Paradox en Paradox, exporte al archivo dbase (.dbf). Lo que esto hace es exportar los datos de la nota a formato blob de dbase.

  • Abra el archivo .dbf en Paradox. Puede ser necesario convertir formato doble a entero largo o número antes de abrir en dbfviewer. El formato doble parece no estar funcionando. Guardar archivo.

  • Use este programa para abrir el archivo dbase y luego exporte a Excel: http://dbfviewer.org/ Exportar - > Archivo XLS ... esto lo abre en Excel

  • Ahora necesitamos crear una macro porque Excel no tiene ninguna forma nativa de encerrar los campos CSV con comillas o cualquier otra cosa. He pegado la macro a continuación, pero aquí están los sitios de referencia que encontré. Un sitio tenía mejores instrucciones pero texto corrompido: 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/

  • En Excel, reemplazar todos " con 'por CTRL-F, reemplace ... cualquier " en los registros se desordenarán las cosas

  • En Excel, presione ALT - F11 para abrir macros Insertar - > Módulo Cree esta macro para guardar archivos CSV entre comillas dobles:

    Sub CSVFile ()

    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
    
  • Luego ejecute - > Ejecutar macro

  • Configure el esquema de db MySQL de destino con campos de texto donde queremos que vayan los blobs

  • En la línea de comandos de MySQL, aquí hay un ejemplo de cómo realizar la importación:

    CARGAR DATOS LOCALES 'C: /data.csv' EN TABLA table_name CAMPOS TERMINADOS POR ',' CERRADO POR '"' LÍNEAS TERMINADAS POR '\ r \ n' (column1, column2)

Paradox es un formato nativo para Borland Database Engine, que se incluye con varios productos de programación de Delphi. La propiedad ha cambiado de manos al menos una vez recientemente, pero en algún momento hubo " Express " versiones de Delphi disponibles que te permitirían escribir un programa simple para exportar estas cosas. Si una versión gratuita ya no está disponible, el SKU más bajo disponible debería incluir la funcionalidad BDE.

Usando MS Access 2007, puede importar Paradox 7 y versiones posteriores utilizando la distribución BDE incluida con el programa gratuito Paradox Database Editor (google). Utilice una conexión como:

DoCmd.TransferDatabase acImport, "ODBC Database", _
    "Paradox 3.X;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=C:\apache\Archive;TABLE=Messages#db", _
    acReport, DailyArchiveName, "MyDatabase"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top