2009-10-24 45 views
8

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

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

Si no es así, ¿exporta Paradox en algún formato legible? ¿Como SQL o algo que se puede analizar razonablemente fácilmente? La persona a cargo de este sistema para mi cliente es voluntaria (no tiene ánimo de lucro), así que me gustaría ir con una solución, porque la última vez que pedí los datos, obtuve esto, que claramente no es bueno.

+1

Las personas que tenían los datos escribieron una conversión programa para mí. Gracias por toda su ayuda. – MattBelanger

Respuesta

2

Tanto las plataformas Paradox para DOS como Paradox para Windows exportarán tablas de datos en formato de Texto delimitado, Texto de longitud fija y Lotus 1-2-3. La antigua paradoja para DOS también escribe Lotus Symphony, mientras que la versión ligeramente menos antigua de Paradox tiene un Excel aceptable.

Sin embargo, alguien tendrá que sentarse y exportar las tablas una a una, o escribir una secuencia de comandos para eso. Por supuesto, necesitaría tener Paradox instalado para escribir el script.

-Al.

+1

Esto es lo que terminamos haciendo – MattBelanger

0

Paradox es un formato nativo para el motor de base de datos Borland, que se incluye con varios productos de programación Delphi. La propiedad ha cambiado de manos al menos una vez recientemente, pero en un momento hubo versiones gratuitas "Express" de Delphi disponibles que le permitían escribir un programa simple para exportar este material. Si una versión gratuita ya no está disponible, la SKU más baja disponible debería incluir la funcionalidad BDE.

1

MS tiene instructions 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 Paradox de casi cualquier cosa que sepa cómo usar ODBC.

1

Usted tiene algunas opciones:

  1. conseguir sus manos en el software Paradox original, y lo utilizan para exportar la base de datos en formato CSV. 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 Paradox o dBase/xBase. Paradox y xBase son muy similares, por lo que es posible que pueda extraer los datos utilizando controladores destinados a cualquiera de ellos. Es posible que pueda obtener un controlador ODBC Paradox en algún lugar en firebirdsql.org.
  3. Use Borland Delphi para escribir un programa que exportará los datos que necesita. Como mencionó otra persona, puede obtener una versión gratuita llamada Turbo Explorer. También deberá instalar el BDE por separado, ya que no viene con Turbo Explorer.
+0

Paradox funciona bien en XP. Hemos estado usando XP desde el lanzamiento de XP sin problemas. –

+0

Interesante. Cada computadora con XP que he probado para ejecutar la aplicación principal de Paradox no representaba correctamente la UI. La mayoría de los botones no tenían etiquetas, etc. –

0

Al usar MS Access 2007 puede importar Paradox 7 y siguientes utilizando la distribución BDE incluida con el programa gratuito Paradox Database Editor (google it).Utilizar una conexión tales 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" 
+1

De hecho, he encontrado que MS Access se puede usar para abrir archivos de Paradox DB directamente (no tuve que instalar nada más, aunque podría ser SOE de mi organización). –

3

Los wikipedia article about Paradox listas otras dos cosas, que podrían ser intéressant, tanto bajo licencia GPL:

Y si tiene Delphi y quiere escribir un convertidor usted mismo (que necesitaría que el BDE funcione) puede echarle un vistazo al this article o r en el código fuente de ConvertCodeLib on this web site. Ambos utilizan TClientDataset, que puede escribir un CDS (formato binario) o un archivo XML.

+0

¡Perfecto! El sitio web de Pxtools tiene instrucciones para instalar usando "apt-get", pero no encontré instrucciones para agregar el repositorio. ¿Alguien sabe cómo hacer eso? –

1

He estado trabajando en una migración de datos gigantesca de Paradox a MySQL. Mi enfoque general ha sido exportar archivos CSV de Paradox, y luego importar los archivos CSV de 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 extraen en el archivo CSV como se esperaba.

Aquí está mi largo proceso para obtener datos de Paradox en MySQL, ¡espero que ayude a alguien!

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

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

  • Utilice este programa para abrir el archivo de dBASE y luego exportar a Excel: http://dbfviewer.org/ Exportar -> XLS-File ... esto abre en Excel

  • Ahora tenemos que crear una macro porque Excel doesn' Tiene una forma nativa de incluir 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 tuvo mejores instrucciones pero texto dañado: 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 expedientes serán cosas desordenar

  • en Excel presione ALT - F11 para abrir las macros Insertar -> Módulo Crear esta macro para guardar archivos CSV encerradas 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 
    
  • Entonces Ejecutar -> Ejecutar macro

  • Establecer objetivo del esquema base de datos MySQL con campos de texto en los que queremos las gotas para ir

  • En la línea de comandos de MySQL aquí está un ejemplo de cómo hacer el import:

    LOAD DATA LOCAL INFILE 'C:/data.csv ' EN TABLE nombre_tabla CAMPOS terminados en',' encerrada por '"' LÍNEAS terminados en '\ r \ n' (columna 1, columna2)

Cuestiones relacionadas