Вопрос

Я работаю с клиентом, у которого есть существующая система, построенная на том, что, по-видимому, является базой данных Paradox.У меня есть база данных в виде zip-файла, содержащего файлы .DB, .MB и .PX, по одному для каждой таблицы.

Мне нужно взять (некоторые) из этих данных и импортировать их в веб-приложение, использующее MySQL.У кого-нибудь есть способ извлечь эти данные, который не требует установки Paradox?

Если нет, экспортирует ли Paradox в каком-нибудь удобочитаемом формате?Либо как SQL, либо что-то, что может быть достаточно легко проанализировано?Человек, отвечающий за эту систему для моего клиента, является волонтером (они некоммерческие), поэтому я хотел бы обратиться к нему с решением - потому что в прошлый раз, когда я запрашивал данные, я получил это, что явно никуда не годится.

Это было полезно?

Решение

Платформы Paradox для DOS и Paradox для Windows будут экспортировать таблицы данных в текстовых форматах с разделителями, текст фиксированной длины и Lotus 1-2-3.Более старый Paradox для DOS также пишет Lotus Symphony, в то время как чуть менее древний Paradox для Windows делает сносный Excel 5.

Однако кому-то придется сесть и экспортировать таблицы одну за другой или написать для этого скрипт do.Конечно, для написания скрипта вам нужно было бы установить Paradox.

-Эл.

Другие советы

Тот Самый статья в Википедии о парадоксе перечислены две другие вещи, которые могут быть интересны, обе под лицензией GPL:

И если у вас есть Delphi и вы хотите самостоятельно написать конвертер (для работы которого потребуется BDE), вы можете взглянуть на эта статья или в исходном коде Конвертируйте код на этом веб-сайте.Оба используют TClientDataSet, который может записывать CDS (двоичный формат) или XML-файл.

MS имеет инструкции по использованию драйвера MS Jet для чтения данных из файлов, созданных Paradox 3-5. Это может действовать как (по крайней мере) драйвер ODBC, так что вы можете использовать его для чтения файла Paradox из всего, что знает, как использовать ODBC.

У вас есть несколько вариантов:

<Ол>
  • Возьмите в руки оригинальное программное обеспечение Paradox и используйте его для экспорта базы данных в CSV формат. К сожалению, Borland больше не продает его, и последняя версия не работает на Windows XP или выше.
  • Доступ к базе данных осуществляется с помощью драйвера ODBC Paradox или dBase / xBase. Paradox и xBase очень похожи, поэтому вы можете извлечь данные, используя драйверы, предназначенные для любого из них. Вы можете получить драйвер ODBC для Paradox где-нибудь на firebirdsql.org .
  • Используйте Borland Delphi для написания программы, которая будет экспортировать нужные вам данные. Как уже упоминалось, вы можете получить бесплатную версию Turbo Explorer . Вам также придется установить BDE отдельно, так как он не поставляется с Turbo Explorer.
  • Я работал над гигантским переносом данных из Paradox в MySQL.Мой общий подход заключался в экспорте CSV-файлов из Paradox, а затем импорте CSV-файлов из командной строки MySQL.Однако эта система выходит из строя, когда в Paradox есть M полей (memo), потому что эти данные не попадают в CSV-файл, как ожидалось.

    Вот мой многословный процесс получения данных Paradox в MySQL, надеюсь, это кому-нибудь поможет!

    • Откройте файл Paradox в Paradox, экспортируйте в файл dbase (.dbf).Что это делает, так это экспортирует данные memo в формат blob dbase.

    • Откройте файл .dbf в Paradox.Возможно, потребуется преобразовать формат double в длинное целое число или number перед открытием в dbfviewer.Похоже, что двойной формат не работает.Сохраните файл.

    • Используйте эту программу, чтобы открыть файл dbase и затем экспортировать его в Excel: http://dbfviewer.org/ Экспорт -> XLS-файл ... это откроет его в Excel

    • Теперь нам нужно создать макрос, потому что в Excel нет никакого встроенного способа заключать CSV-поля в кавычки или что-либо еще.Я вставил макрос ниже, но вот ссылки на сайты, которые я нашел.На одном сайте были инструкции получше, но текст был поврежден: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/

    • В Excel замените все "на" с помощью CTRL-F, заменить...любое " в записях приведет к путанице

    • В Excel нажмите ALT - F11, чтобы открыть макросы Вставка -> Модуль Создайте этот макрос для сохранения CSV-файлов, заключенных в двойные кавычки:

      Вложенный 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
      
    • Затем Запустите -> Запустить макрос

    • Настройте целевую схему базы данных MySQL с текстовыми полями, куда мы хотим поместить большие двоичные объекты

    • В командной строке MySQL вот пример того, как выполнить импорт:

      ЗАГРУЗИТЬ ЛОКАЛЬНЫЙ ФАЙЛ ДАННЫХ 'C:/data.csv' В ТАБЛИЦУ имя_таблицы ПОЛЯ ЗАКАНЧИВАЮТСЯ НА ',' ЗАКЛЮЧЕНЫ В '"' СТРОКИ ЗАКАНЧИВАЮТСЯ НА ' ' (столбец 1, столбец 2)

    Paradox - это нативный формат для Borland Database Engine, который включен в различные программные продукты Delphi. Владение перешло к другому владельцу, по крайней мере, один раз в последнее время, но в один прекрасный момент появились бесплатные «Экспресс» Доступны версии Delphi, которые позволят вам написать простую программу для экспорта этого материала. Если бесплатная версия больше не доступна, самый низкий доступный SKU должен включать функциональность BDE.

    Используя MS Access 2007, вы можете импортировать Paradox 7 и ниже, используя дистрибутив BDE, включенный в бесплатную программу Paradox Database Editor (Google google it). Используйте соединение, например:

    DoCmd.TransferDatabase acImport, "ODBC Database", _
        "Paradox 3.X;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=C:\apache\Archive;TABLE=Messages#db", _
        acReport, DailyArchiveName, "MyDatabase"
    
    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top