Как открыть файлы кронос

Обновлено: 04.07.2024

В этом разделе собирается информация, посвященная СУБД "Кронос" и ее модификациям.

Дело в том, что сайт разработчиков не содержит достаточного количества информации по архитектуре, программированию и нюансам работы с этой системой. А сама оболочка позволяет выполнять только заложенные в нее функции, чего очень часто бывает недостаточно.

Мне пришлось достаточно долго проработать с этой системой, занимаясь, в основном, администрированием и оптимизацией ее работы в локальных сетях. Накопленным за это время опытом я и хочу здесь поделиться.

Система "Кронос" была создана в начале 90-х годов с помощью очень редко встречающегося средства разработки Advanced Revelation. Я не встречал ни одного человека, который бы хоть раз видел это средство, и всего один раз читал его обзор в одном из компьютерных журналов. Что повлияло на выбор разработчиков сказать не могу. Однако, то, что получилось, содержало очень много как положительных, так и отрицательных отличий от стандартно распространенных в то время систем, писаных на FoxPro, Clipper и т.п. Самое интересное преимущество - это переменная длина всех записей, которая при хранении данных, не обладавших четкой структурой и фиксированной длиной, давала очень хороший выигрыш в занимаемом дисковом пространстве. Кроме того, в системе присутствовали и такие особенности, как шифрование всех данных, встроенная система номенклаторов (словарей), встроенная система связей с другими базами одного банка (разработчики, ссылаясь на эту возможность, называли СУБД сетевой), индексы, построенные на базе инвертированных списков, а не на Би-деревьях, как было принято в системах такого уровня. Однако шифрование и переменная длина записи накладывали и ограничения на скорость работы с данными. Фактически, получалось, что использовать характеристики, по которым не построены заранее индексы в качестве поисковых было практически невозможно. А построение индексов по всем возможным характеристикам приводило к тому, что процедура обновления данных занимала очень длительное время. Но закрытость системы, невозможность обрабатывать данные внешними программами, написанными сторонними разработчиками еще и сужала круг решаемых задач, ограничивая их только теми возможностями, которые предоставляла сама оболочка. Эта ситуация меня не устраивала и я занялся поиском возможностей изменения и улучшения системы.

Первой задачей было понять, как и что Кронос хранит в файлах данных. Это оказалось узнать достаточно просто. Все данные хранятся в паре файлов с расширениями .dat и .tad. В файле .tad первые 8 байт занимает информация об удаленных записях. Если вы не собираетесь восстанавливать удаленные записи или записывать что-то на их место, то эти 8 байт вам не нужны. Дальше хранятся группы по 12 байт. i-я группа (нумерация с 1) соответствует записи с i-м системным номером. Причем первые 4 байта указывают на смещение от начала файла .dat первой части записи. Следующие 2 байта - это длина первой части записи. Остается 6 байт. Четыре из них - смещение от начала файла .dat следующей части записи, а 2 байта - ее длина. Причем все части записи, начиная со второй, в начальных 4-х байтах содержат адрес начала следующей части записи и могут быть не длинее 256 байт. На языке С процедура чтения выглядит следующим образом (find - файл .tad, fin - файл .dat):

long offset1, offset2;
unsigned int len1, len2, lenc;
unsigned char *buf;
lseek(find,(sistN*12)-4,SEEK_SET);
read(find,&offset1,4); read(find,&len1,2); read(find,&offset2,4); read(find,&len2,2);
if (len2==0xffff)
lseek(fin,offset1,SEEK_SET);
buf=(unsigned char *) malloc(len1+len2);
read(fin,buf,len1);
lenc=0;
while ( lenc<len2 ) lseek(fin,offset2,SEEK_SET);
read(fin,&offset2,4);
read(fin,buf+len1+lenc,((lenc+252)>len2)?(len2-lenc):252);
lenc+=252;
>

После этого остается только расшифровать прочитанную запись. С расшифровкой разобраться даже проще чем с чтением данных. Достаточно легко понять, как шифруются записи, просто подсовывая Кроносу записи состоящие из одинаковых букв. Закономерность отследить очень легко. Не буду загромождать страничку тем, какими способами можно установить закономерности шифрования, приведу лишь алгоритм:

encode(buf,len,f,offset)
unsigned char buf[]; unsigned int len, f, offset;
< unsigned int i;
if (f==0)
for (i=0; i<len; i++) buf[i] = kod[256+buf[i]] - i - offset;
else
for (i=0; i<len; i++) buf[i] = kod[ buf[i] + i + offset ];
>


Здесь f - флаг направления шифрования. 0 - расшифрование, 1 - зашифрование. А kod - две таблицы перестановок по 256 байт (причем взаимообратные). Эти таблицы очень просто найти в вашей версии Кроноса. Это блоки, в которых на протяжении 256 байт каждое значение встречается только по одному разу.

Этого достаточно, чтобы можно было читать данные из файлов Кроноса.

Пойдем дальше. В Кроносе есть одна единственная возможность обрабатывать данные самостоятельно. Для этого нужно выполнить запрос и перейти в пункт меню "Спецменю". При этом Кронос создает в рабочем каталоге файл с номерами отобранных объектов и дает возможность вызвать пользовательскую программу, которая может обрабатывать эти объекты. Такие программы можно писать с помощью дополнительной библиотеки, о которой в хелпе к Кроносу рассказана такая история. Это конечно здорово, но где же ее взять? И следующим этапом в моих усовершенствованиях Кроноса стало создание такого чуда. Правда, чудо это оказалось не доделанным до конца по той простой причине, что я не нашел способ спросить у Кроноса, куда же он положил файлы stru и spsn.<Номер базы в запросе>, т.е. непонятно, как узнать у Кроноса, где находится его рабочий директорий. (Я подозреваю, что нужно спрашивать у intserv, просто вызвав прерывание INT80 - INT85, но разобраться в этом я сил не нашел). И есть еще одна недоделка - нет функции decode(), которая должна работать со словарями. Взять то, что у меня получилось из этой библиотеки можно здесь: CRO.H . Только претензий по ней я не принимаю, т.к. писал ее очень давно и почти никогда ею не пользовался.

При более детальном рассмотрении структуры файлов Кроноса стало понятно, что кроме физического уровня хранения данных у него есть еще и логический. На записях любой базы данных это никак не проявляется. Там строго - каждая запись занимает в файле данных одну физическую запись с соответствующим системным номером. А вот в индексных, служебных и словарных файлах присутствует еще и логическая структура. Это и понятно, т.к. в файлах этих типов часто приходится вставлять новые записи в середину структуры, что сделать в физическом формате очень тяжело - приходилось бы раздвигать файл. Разобраться в логической структуре немного сложнее, но тоже возможно. Понимание этой структуры дает возможность читать словари, индексы и прочую полезную информацию. Логическую структуру я опишу позже, поскольку это довольно длительная процедура, на которую нужно еще и подыскать свободное время. А пока расскажу о результатах. Возможность читать эти данные позволяет напрямую работать с индексами, в обход оболочки, а кроме того, и создавать индексы, не используя очень медленные возможности Кроноса в этой области. Я написал программку, которая умеет самостоятельно строить индексы по полям баз Кроноса. Но эта программа находится в очень сыром виде из-за нехватки времени на ее доработку. Описание ее можно прочитать здесь, а взять ее на попробовать - здесь. В планах, находятся следующие действия:

  • Научить ее понимать тип полей автоматически
  • Научить строить индексы по словам (понимая неиндексируемые символы Кроноса)
  • Определять характеристики индекса автоматически, если он уже существует и его нужно только перестроить
  • Научить ее встраиваться в систему меню Кроноса
  • Научить вносить изменения в описания индексов, если индекс создается
  • Может еще что-то

В общем-то это все не сложно сделать, вот только нужно найти на это время.

Еще, мне приходилось заниматься исследованием поведения Кроноса в сети. Кое-что на эту тему я писал как-то в news:fido7.su.dbms.cronos, приведу здесь только ссылку на эту статью. Более детальную информацию я уже вряд ли вспомню, но если кому будет это интересно, можно мне написать, я отвечу на все вопросы.

Пока это все, на что хватило у меня сил здесь рассказать.

  • еще рассказать о логической структуре записей, о структуре словарей и индексов, о паролях.
  • Привести тут программку, которая на входе получает строчную запись запроса, а на выходе выдает результат поиска.
  • Описать другую программку, которая выполняет гораздо более расширенную статобработку данных, чем умеет делать Кронос. Например задавать разные запросы для колонок таблицы и несколько уровней распределения для строк.
  • Потом плавно перейти к "Кронос-Плюс".

Но это в следующий раз, когда смогу добраться до клавиатуры и найти на это время и силы.


Основным отличием системы "CronosPlus" от других СУБД является сочетание высокой скорости работы с экономичным размещением данных на диске. Динамическое сжатие данных позволяет в 1,5 - 2 раза уменьшить объем, занимаемый данными на диске. При этом размер индексов составляет не более 30% от размера данных. Уже одно это позволяет значительно ускорить обработку информации. А так как скорость поиска не зависит от размера оперативной памяти, на реально больших массивах (несколько Гб), разница в скорости работы "CronosPlus" или другой СУБД увеличивается на порядок.

  1. Оптимизация поиска с помощью словарного банка данных ( 1 , 2 ).
  2. Обмен (объединение) между банками данных ( 1 , 2 , 3 , 4 , 5 ).
  3. Выгрузка коммерческого банка данных без защиты.
  4. Если не запускается патч для смены серийника.
  5. Экспорт данных из банка для подключения в более ранней версии, версии под ДОС, или же в других ИСУБД ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ).
  6. Экспорт данных из банка для зашивание под более позднюю версию , комментарий.
  7. Смена серийника самого банка данных.
  8. ms Excel путает числовые и текстовые типы данных ( 1 , 2 , 3 , 4 , 5 ).
  9. Выгрузка банка данных в нескольких томах.
  10. Инструкция по подключению (восстановлению из архивных копий) банков данных.
  11. Запуск кроноса в терминальном режиме. ( 1 , 2 , 3 ).
  12. Создания банка данных для подключения на ИСУБД с любым серийным номером ( 1 , 2 , 3 ).
  13. Подключение банков данных с другим серийным номером.
  14. Удаление одинаковых значений в банке данных.
  15. Удалённый доступ к информации из банков данных. (1, 2 ).
  16. Если должно искать, но не находит ( 1 , 2 , 3 ).
  17. Проектирование выходных форм ( 1 , 2 , 3 ).

подскажите пожалуйста как выгрузить словари

Добавлено:
MSDE имеет ряд ограничений при работе с базой данных
Размер базы данных, с которой можно работать при помощи MSDE, ограничен и составляет 2 Гбайт. Однако данное ограничение не означает, что это максимальный объем данных, который поддерживается MSDE. Вы можете работать с большим числом баз данных, размер каждой из которых менее 2 Гбайт.

MSDE имеет ограничения на аппаратное обеспечение
Как и SQL Server 2000 Personal Edition, MSDE поддерживает системы с максимум двумя процессорами. Кроме того, в MSDE объем используемой оперативной памяти составляет не более 2 Гбайт.

Название (англ.): eCopy Desktop File

Название (рус.): Документ eCopy Desktop

Разработчик: Nuance

Описание: CPY или eCopy Desktop scanned document file является специальным форматом файла создаваемого приложением eCopy Paperworks – специальным инструментом для сканирования, объединения и модификации офисных файлов различного типа. Формат был разработан софтверной компанией Nuance Communications. Предназначается формат главным образом для хранения сканированных документов (текста и изображений) и передачи их по сети. Формат CPY является проприетарным аналогом свободного формата PDF. Файлы CPY включают в себе изображения, тестовую информацию, а также данные разметки страницы.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 2

Название (англ.): Cobol include file

Название (рус.): Файл дополнений Cobol

Разработчик: Неизвестен

Описание: CPY или Cobol include file представляет собой формат подключаемого файла содержащего исходный программный код. Данный формат использовался Cobol – одним из самых старых процедурных языков программирования высокого уровня, созданным еще в 1959 году и используемым в первую очередь для разработки бизнес-программ. Файлы CPY относятся к категории подключаемых модулей и содержат в себе различные функции и дополнительные подпрограммы в виде исходных текстов. Для просмотра содержимого файлов данного типа можно использовать практически любой текстовый редактор с поддержкой ASCII.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 3

Название (англ.): 3ds Max Copy Track File

Название (рус.): Анимация 3ds Max

Разработчик: Autodesk

Описание: CPY или 3ds Max Copy Track File представляет собой формат анимационного файла, созданного с помощью приложения 3ds Max - одним из самых известных инструментов для создания анимации и трёхмерной графики. Формат был разработан компанией Autodesk, специализирующейся на создании приложений для трехмерного моделирования. Файлы CPY относятся к категории трехмерных изображений, моделей. Содержимое файлов CPY представляет собой анимационные данные о позах, движениях и перемещениях “двуногих” объектов, например фигур людей или человекоподобных роботах. Данная информация позволяет экономить рабочее время при разработке персонажей имеющих только две ноги.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:

Формат 4

Название (англ.): Database file CronosPlus

Название (рус.): Файл базы данных CronosPlus

Разработчик: Кронос-Информ

Описание: CPY или Database file CronosPlus представляет собой формат базы данных используемый в CronosPlus – системе СУБД, предназначенной для управления информацией. Программа CronosPlus является мощным инструментом для организации банков данных и управления ими. Отличается высокой скоростью работы и экономичным размещением информации на жестком диске. Данный формат был разработан компанией Кронос-Информ, специализирующейся на создании различных автоматизированных информационных систем. Открыть файлы CPY можно с помощью программы CronosPlus.

Для открытия (редактирования) файла этого формата можно использовать следующие программы:


Если у кого-то возникнут вопросы по эксплуатации всевозможных СУБДД, таких как: Cronos plus, Cross etc.
обращаемся в эту тему.

СУБДД Кронос плюс

в архиве *cronos_3_04_74_all_sn* есть два файла реестра windows, их нужно запустить и подтвердить внесение изменений.
файлы: !!Win2kLargeDisk.reg и cronos.reg

Подключение банков и работа с БД


выбераем в меню банк затем список банков

1.jpg


в появившемся окне жмем добавить

2.jpg


указываем 2 пути к БД

либо к общей директории (если нет папки /Voc/ )

%:\Базы данных\Москва и МО\Индивидуальные предприниматели МО 04.2007\
%:\Базы данных\Москва и МО\Индивидуальные предприниматели МО 04.2007\Voc\

и жмем выполнить

3_158155.jpg


БД подключена, можно пользоваться!

Жмем F3 , заполняем необходимые критерии и жмем Ctrl+F для начала поиска.


жмем соответствующую иконку и смотрим результаты поиска

4.jpg


Ksivi.Co

Если скачали БД и внутри только один файл с расширением *.cpy это сжатые банки, которые требуют восстановления.


Инструкция по восстановлению банков для СУБДД Cronos Plus


1. запускаем Кронус />>/ вкладка *Банк* />>/ *Список банков* />>/ жмем *новый* (справо в навигационной панели) />>/ заполняем, указываем путь (к директории с файлом *.cpy) и ставим галки как на скрине

11.jpg

/>>/ жмем выполнить.

(в том же интерфейсе Кронуса) вкладка *Администратор* />>/ *восстановление* />>/ *Банка данных* />>/ указываем файл *.cpy и жмем *выполнить*.

Читайте также: