Pergunta

Eu estou trabalhando com um cliente que tem um sistema existente, construído sobre o que é, aparentemente, um banco de dados Paradox. Eu tenho o banco de dados, na forma de um arquivo zip contendo .DB, .MB e .PX arquivos, um para cada tabela.

Eu preciso levar (alguns) desses dados e importá-lo em um aplicativo da Web que está usando MySQL. Alguém tem uma maneira de me para extrair estes dados, que não envolve a instalação de Paradox?

Se não, faz Paradox exportação em algum formato legível? Quer como SQL ou algo que pode ser analisado razoavelmente facilmente? A pessoa responsável por este sistema para o meu cliente é um voluntário (eles são um sem fins lucrativos), então eu gostaria de ir até ele com uma solução - porque da última vez eu pedi para os dados, eu tenho essa, que é claramente não é bom.

Foi útil?

Solução

Tanto o Paradox para DOS e Paradox para plataformas Windows irá exportar tabelas de dados em texto delimitado, fixo Comprimento do Texto, e Lotus 1-2-3 formatos. O paradoxo mais velho para DOS também escreve Lotus Symphony, enquanto o Paradox pouco menos antigo para o Windows faz um razoável Excel 5.

No entanto, alguém vai ter que sentar e exportar o mesas por um, ou escrever um script fazer para ele. É claro que você precisa ter Paradox instalado para escrever o roteiro.

-Al.

Outras dicas

O wikipedia artigo sobre listas Paradox duas outras coisas, que pode ser interessant, tanto sob licença GPL:

E se você tiver Delphi e quer escrever um conversor de si mesmo (o que seria necessário o BDE para o trabalho), você pode dar uma olhada em este artigo ou no código-fonte do ConvertCodeLib neste web local . Ambos fazem uso de TClientDataset, que pode escrever um CDS (formato binário) ou um arquivo XML.

MS tem instruções para usar o driver MS Jet para ler dados de arquivos produzidos pela Paradox 3-5. Que pode atuar como (pelo menos) um driver ODBC, para que você possa usá-lo para ler um arquivo Paradox a partir de praticamente qualquer coisa que sabe como usar ODBC.

Você tem algumas opções:

  1. Tire suas mãos sobre o software original Paradox, e usá-lo para exportar o banco de dados em CSV formato. Infelizmente, a Borland já não vende-lo e a versão mais recente não bem executado no Windows XP ou superior.
  2. Acesse o banco de dados usando um Paradox ou driver ODBC dBase / xBase. Paradox e xBase são muito semelhantes, de modo que você pode ser capaz de extrair os dados usando drivers voltados para qualquer um deles. Você pode ser capaz de obter um lugar driver ODBC Paradox em firebirdsql.org .
  3. Use Borland Delphi para escrever um programa que irá exportar os dados que você precisa. Como alguém referiu, você pode obter uma versão gratuita chamada Turbo Explorador . Você também terá que instalar o BDE separadamente, uma vez que não vêm com Turbo Explorer.

Eu tenho trabalhado em uma migração de dados gigantesca de Paradox para MySQL. Minha abordagem geral tem sido exportar arquivos CSV do Paradox, e depois importar os arquivos CSV a partir da linha de comando do MySQL. No entanto este sistema entra em colapso quando existem M (Memo) campos em Paradox, porque os dados não ser atraído para o arquivo CSV como esperado.

Aqui está o meu processo prolixo para a obtenção de dados Paradox no MySQL, espero que ajude alguém!

  • Abrir arquivo Paradox no Paradox, a exportação para arquivo dbase (.dbf). O que isto significa é que exporta os dados de memória em formato blob do dbase.

  • Abra o arquivo .dbf no Paradox. Pode ser necessário converter o formato duplo para inteiro longo ou um número antes de abrir em dbfviewer. formato de dupla parece não estar funcionando. Salvar arquivo.

  • Use este programa para abrir o arquivo dbase e depois exportar para Excel: http://dbfviewer.org/ Export -> XLS-File ... isso abre no Excel

  • Agora precisamos criar uma macro porque o Excel não tem qualquer maneira nativa aos campos CSV encerrar com aspas ou qualquer outra coisa. Eu tenho colado na macro abaixo, mas aqui estão os sites de referência que eu encontrei. Um site teve melhores instruções mas o 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/

  • No Excel substituir todos "com" por CTRL-F, substitua ... qualquer" nos registros vai mexer coisas para cima

  • No Excel pressione ALT - F11 para abrir-se macros Inserir -> Módulo Criar esta macro para salvar arquivos CSV fechado com aspas duplas:

    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
    
  • Depois Run -> Run Macro

  • Configurar esquema MySQL db alvo com campos de texto onde queremos as bolhas para ir

  • linha de comando No MySQL aqui está um exemplo de como fazer a importação:

    LOAD DATA LOCAL INFILE 'C: /data.csv' INTO table_name TABLE FIELDS TERMINATED BY '' CERCADO POR '"' LINHAS TERMINATED BY '\ r \ n' (Column1, column2)

Paradox é um formato nativo para o Borland Database Engine, que está incluído com vários produtos de programação Delphi. Propriedade mudou de mãos pelo menos uma vez recentemente, mas em um ponto havia livre "Express" versões do Delphi disponível que lhe permitem escrever um programa simples para exportar este material. Se uma versão gratuita não está mais disponível, o menor SKU disponível deve incluir funcionalidade BDE.

Usando MS Access 2007 pode importar Paradox 7 e abaixo usando a distribuição BDE incluído com o programa Editor de banco de dados livre Paradox (google). Use uma conexão tais 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top