powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / что за формат *.SDF
7 сообщений из 7, страница 1 из 1
что за формат *.SDF
    #32071550
Natasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большой зарплаты всем работающим в такое время(20.30)!
Суть вопроса: у заказчика есть старая-старая программка для ведения своего бизнеса, использующая для хранения данных файлы формата SDF, причем для каждого файла SDF в наличие файл IDX с таким же именем. Мы работаем новую программку. Заказчик, естественно, хочет чтобы были сконверчены в нее старые данные. Возникли большие проблемы с определением сруктуры указанных файлов.
Заранее благодарна всем откликнувшимся.
...
Рейтинг: 0 / 0
что за формат *.SDF
    #32071551
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, подобного расширения не встречал. Но думаю, если Вы приведёте первые 100-200 байт файлика, кто-нибудь опознает.
И второе. Программулька была - DOS? Win32?
Удачи!
...
Рейтинг: 0 / 0
что за формат *.SDF
    #32071556
Natasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программка была досовская. А вот насчет содержимого файла - читабельный текст вперемежку с символами псевдографики, смайликов, цифр и других (в кодировке DOS). Но, к сожалению, читабельный текст перемешан с другими символами без какой либо закономнрности. Или я ее не вижу.
...
Рейтинг: 0 / 0
что за формат *.SDF
    #32071568
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Похоже, Вы влипли. Скорее всего это самодельный формат. Но там наверняка должны быть какие-то отчеты. 50% за то, что эти отчеты первоначально сбрасываются в какой-то файл. Попробуйте его найти.

Любой, даже доморощеный формат DOS должен состоять из полей фиксированной длины. Скорее всего он сделан по подобию DBF-формата. В первом блоке описание полей, потом данные. Впрочем описания может и не быть. Всякие смайлики и псевдографика - это числа в истинном представлении, a'la Pascal-С.
...
Рейтинг: 0 / 0
что за формат *.SDF
    #32071590
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько замечаний:
1. Вообще-то, в природе существует формат SDF, но это не Ваш случай (иначе бы жизнь была легка и прекрасна):
Код: plaintext
1.
2.
3.
4.
SDF 
System Data Format file. An SDF file is an ASCII text file in
which records have a fixed length and end with a carriage
return and line feed. Fields are not delimited. The file name
extension is assumed to be .txt for SDF files. 

2. Возможно, что Cat2 не прав и тут не обошлось без dbase/clipper/foxbase/foxpro. Дело в том, что эти языки позволяют переименовывать dbf в файлы с любым расширением, но присвоить другое расширение индексам не получится. То, что у Вас присутствую idx-файл, дает шанс на легкое решение проблемы. Для проверки переименуте один из файлов и попробуйте открыть его хотя бы в Excel.
3. Возможно, что Cat2 прав и это действительно самопальный формат по подобию dbf. В этом случае попробуйте удалить заголовок файла (все, что по Вашему мнению не относится к самим данным) и открыть файл в Excel. Если на запись отведено постоянное количество байт, мастер преобразования легко с ним справится. Делее возможно два варианта - использовать Excel для преобразования в более удобный формат (недостаток - ручная работа и ограничения по объему данных в Excel) или исследовать формат, имея перед глазами, то что должно быть на выходе.
4. Возможно это просто файлы прямого доступа, с которыми работают Pascal или BASIC. Попробуйте глянуть служебную информацию в exe-файле, чтобы определить на чем написана программа (ключевые слова поиска - microsoft, borland etc), а затем обратиться за адресной помощью.
5. Формат файлов не линейный, не как у dbf, определить ничего не удалось. Возможно два варианта - кропотливая работа по раскодированию формата (почувствуйте себя хакером! :)) или долгое объяснение заказчику, что со старыми данными у него облом.

Удачи!
...
Рейтинг: 0 / 0
что за формат *.SDF
    #32071599
Natasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.
Начало SDF файла, что-то вроде справочника ведомств, т.е.самой что ни на есть простой структуры, после разбора Excel'ем выглядит так:
МинобороныМинобразованияМинстройматериалов9Министерство природных ресурсов и охраны окружающей средыМинсвязиМинсельхозпродМинистерство социальной защиты+Мин. строительства и эксплуатации автодорогМинторг и т.д.
Как идентифицировать запись, чтобы определить значение внешнего ключа в других связанных файлах?
А вот файл, содержащий информацию по платежам имеет вот такой вид (начало):
"@ ш@30/10/000За услуги по п № 822 от 30/10/2000г.*по договору № 610 от 10/03/2000г. Без НДС.X30/10/00Цх@30/10/000За услуги по п № 803 от 30/10/2000г.*по договору № 218 от 02/02/2000г. Без НДС.W30/10/00╚PA30/10/007За дра и т.д.".
Из контекста старой программки видно какому ведомству выставляется счет.
Судя по всему поля в одной записи не разделяются.
Общий размер SDF файлов около 5 Mb, так что вариант с кропотливым разбором не очень катит, а вот объяснений с заказчиком, похоже, не избежать. Грустно то как.
...
Рейтинг: 0 / 0
что за формат *.SDF
    #32071603
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация становится проясняется..
Во-первых, теперь вы хотя бы сможете программно разбить информацию по стоблцам.
>МинобороныМинобразования
Если ANSI-код у "" совпадает, то к нему уже можно привязаться как разделителю и такие файлы можно сказать у вас уже "в кармане". Если разные - то возможно это коды, являющиеся ключами для других файлов.
С вторым вариантом посложнее, но можно помучиться. Во-первых, Вы сразу можете по маске определить даты и отбросить их во временный файл-таблицу, а в исходном заменить собственной комбинацией символов (неплохо бы просканировать файлы, возможно, что какой-то из 256 символов вообще не используется, он бы Вам пригодился для подмены). Во-вторых, несмотря на переменную длину строк, у вас есть "непонятная" комбинация из 4-х символов, ее тоже можно использовать как разделитель. Кроме того, возможно в ней зашифрована длина строки и/или ключ к справочнику.
К тому же, у вас есть ориентир - работающая программа. Начните свои преобразования, попробуйте получить какой-то результат и сравните с тем, что должно быть. Вы рано или поздно найдете закономерность.
Лет 7-8 назад, я перелопатил столько информации в неизвестных форматах, иногда даже не представляя, что должно быть в результате, что и вспоминать страшно. Поэтому прекрасно понимаю, что работка не сахар и универсального решения, к сожалению, не существует.
А определить, на чем написана программа так и не удалось?
>а вот объяснений с заказчиком, похоже, не избежать. Грустно то как
Еще рано сдаваться:) Успехов!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / что за формат *.SDF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]