Итак, перед началом конвертирования мы имеем:
• базу данных Контрольно-измерительные приборы, созданную в программной среде Access 2002;
• базу данных БД ЧЭС, сформированную в среде Clarion 3.0;
• базу данных Контроль ЧС, разработанную в программной среде FoxPro 2.5.
Наша цель – объединить все эти базы данных в одну, расположенную в программной среде Access 2002. Вся дальнейшая обработка информации будет происходить в этой новой БД. Чтобы решить поставленную задачу, мы будем импортировать базы данных в Access 2002, одновременно преобразуя их из исходных форматов в новый.
Существуют ли какие-либо альтернативы такому решению? Да, теоретически их две:
• если структуры файлов двух или нескольких баз данных совпадают, можно свободно переносить информацию из одной БД в другую. Однако, как уже говорилось, такая ситуация крайне маловероятна;
• можно не импортировать нужные файлы в БД, а связать их с таблицей Access. Отметим, что файлы являются источниками информации, а в таблице Access содержатся только ссылки на соответствующие сведения. Тогда база данных Access останется в своем первоначальном виде, а все изменения будут происходить в связанных файлах. Однако в таком случае усложняется ведение комплексной БД: если файл данных был перемещен, то вы не сможете просматривать и редактировать его, пока не обновите информацию о местоположении этого файла.
Технология импорта для каждой из двух конвертируемых баз данных несколько различается.
Импорт БД ЧЭС по необходимости состоит из двух этапов. Clarion 3.0 – довольно старая программная система, поэтому она содержит очень небогатый набор конвертеров. Из них практическую ценность имеет лишь конвертер данных из формата DAT в формат программы dBase3 – DBF. Именно этим инструментом мы и воспользуемся. Следующим шагом будет импорт файлов с их одновременным конвертированием из базы данных формата dBase3 в БД Контрольно-измерительные приборы в формате Access 2002 – MDB. Конечно, указанное имя этой базы данных уже не будет соответствовать ее содержанию, и его придется изменить.
Двухэтапным будет также и перевод базы данных Контроль ЧС из формата в формат, но по другим причинам. Дело в том, что при всей мощности и гибкости Access 2002 из этой версии (по сравнению с Access 97) исчез конвертер форматов данных FoxPro. В результате, даже несмотря на родственный формат (.DBF), с которым работают СУБД семейства dBase, при попытке прямого импорта файлов из FoxPro в Access 2002 с помощью конвертеров возникают трудности с преобразованием текстовых файлов: во-первых, не конвертируются файлы типа Memo, во-вторых, текстовые строки преобразуются с искажениями, так что понять эти тексты нельзя. Поэтому порядок работы будет таким: первый шаг – переносим данные из FoxPro в Access 97, второй – из Access 97 в Access 2002.
Импорт базы данных БД ЧЭС
Начнем с краткой характеристики базы данных БД ЧЭС.
Первый этап: импорт данных из среды Clarion в dBase
Сначала посмотрим, как выглядит фрагмент этой базы данных. На рис. 7.1 представлена часть окна базы данных – ответ на запрос об авариях на магистральных трубопроводах, которые произошли на территории Российской Федерации в 1995 г. По каждой из чрезвычайных ситуаций, содержащихся в этом списке, можно получить (в электронном или печатном виде) более подробную информацию.
Рис. 7.1
Для импорта базы данных используем конвертер Ccvt, который входит в состав программного обеспечения среды Clarion (см. рис. 7.2). Как видно из рисунка, конвертер предоставляет не слишком широкие возможности преобразования форматов: либо в текстовый файл на языке Basic, либо в универсальный обменный формат DIF, либо в один из форматов языка dBase. Однако Basic нам в данном случае не нужен, а DIF не получил широкого распространения. Значит, остается, как мы уже договорились, преобразовывать данные в формат DBF.