|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.07.2018, 13:51 | #1 |
Пользователь
Регистрация: 12.02.2011
Сообщений: 15
|
Конвертер из ISAM в Firebird
Здравствуйте!
Пишу конвертер из БД ISAM в Firebird Упрощенная часть кода чтения данных из dat файла: Код:
Проблема в том, что считываются ранее удаленные записи в ISAM. Дат файлы и структуру в них, смотрю утилитой DBISAM Viewer. В ней есть чекбокс, показывать все нормальные, все удаленные и все записи с ошибками. Как можно отловить удаленные записи и не переносить в новую базу? Последний раз редактировалось V_a_d; 07.07.2018 в 14:17. |
08.07.2018, 19:52 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Там же признак удаленной записи по идее где-то должен быть. Как в dbf. Или взять провайдер для этой СУБД, который различает удалена или нет запись. Кстати что за СУБД? FoxPro, Paradox, dBase, DB2 или еще что?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.07.2018, 13:50 | #3 |
Пользователь
Регистрация: 12.02.2011
Сообщений: 15
|
Точно не скажу, но вроде как DBISAM (dat файл + idx файл). Открываю файлы для просмотра утилитой DBISAM viewer v2.52
Искал компонент DBISAM 3, так и не нашел. Версией выше ругается вроде на несовместимость (точно уже не помню) |
09.07.2018, 15:06 | #4 |
Пользователь
Регистрация: 12.02.2011
Сообщений: 15
|
|
09.07.2018, 16:46 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Этот признак где-то в записи и находится. Разберись с устройством записи, в hex-редакторе посмотри и вычисли где он )
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.07.2018 в 19:51. |
|
12.07.2018, 19:02 | #6 |
Пользователь
Регистрация: 12.02.2011
Сообщений: 15
|
Я бы не заморачивался побайтно разбирать базу, если бы нашел DBISAM ODBC Driver или подходящий компонент. Как то находил компонент DBISAM версии 4, но он не совместим. Нужен версии 3. Третью версию компонента не нашел. Я правда сижу на Delphi 7.
|
13.07.2018, 22:06 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Создайте новую базу с 2 идентичными записями, одну из них удалите, сравните итоги. Будет Вам счастье при побайтном разборею
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ошибка delphi 7 could not find installable isam | Kursant_vv | БД в Delphi | 2 | 05.03.2015 15:09 |
Не запускается проект и сама программа на других ПК "Не удалось найти устанавливаемый ISAM " | Ookami08 | Общие вопросы Delphi | 0 | 17.05.2012 19:35 |
Конвертер | Макспч21 | Помощь студентам | 0 | 05.05.2012 12:19 |
Конвертер | VanHelsing | Софт | 0 | 22.07.2010 11:46 |