Смекни!
smekni.com

MapInfo Professional 90 Руководство пользователя (стр. 55 из 125)

Поддерживаемые версии баз данных

MapInfo Professional поддерживает следующие серверы пространственных баз данных:

• SQL Server 2000/2005

• Informix 9.x

• Solaris 32-bit

• HPUX

• Oracle Spatial 10G, 9iR2, 9iR1

Кроме этого, можно получить доступ к данным из MapInfo Professional, используя драйверы ODBC:

• Oracle ODBC Driver 9x

• SQL Server 2000/2005*

• Informix 3.x

Чтобы сделать работу Вашей базы данных более продуктивной, MapInfo Professional 9.0 предлагает интерфейс для открытия удаленных таблиц EasyLoader. Эта программа даёт возможность сохранить таблицы в удаленной базе данных, используя команду Сохранить копию, и создавать новые таблицы в удалённых базах данных. Дополнительно есть возможность создать новую таблицу из уже существующей таблицы. Программа EasyLoader доступна на сайте MapInfo. Также можно открывать таблицы с данными из следующих баз данных и присоединять к ним геоинформацию, но только для точечных данных:

• Oracle 9iR2

• Oracle 10G

• MS Access XP

• MS SQL Server 2000/2005*

• Informix 9.4

О связанных таблицах СУБД и таблицах прямого доступа СУБД

Связанная таблица - это таблица MapInfo Professional, загруженная из удаленной базы данных, в которой сохраняются связи с таблицей удаленной базы данных. Таблица удаленной базы данных называется таблицей СУБД. Когда MapInfo Professional загружает таблицу, создается полная локальная копия на компьютере, на котором работает MapInfo Professional. Все изменения сделанные в копии могут быть в любой момент переданы и зафиксированы в таблице на сервере. Во многих случаях мы советуем использовать связанные таблицы, а не таблицы прямого доступа, поскольку при этом повышается производительность.

Внимание: При использовании связанной таблицы очень большого размера, производительность всей системы может существенно упасть.

Над связанной таблицей Вы можете производить большинство операций обычных для простых таблиц MapInfo. Например, можно просматривать, изменять, копировать и сохранять связанную таблицу аналогично операциям над обыкновенной таблицей MapInfo Professional. Однако, существуют операции, которые нельзя выполнить по отношению к связанной таблице. Например, нельзя упаковывать связанную таблицу. Нельзя изменять структуру связанной таблицы.

Таблицы можно загрузить из реляционных систем управления базами данных таких, как Oracle, Informix или Access. Загруженные таблицы можно использовать отдельно или оставить связанными с исходными таблицами базы данных сервера. Можно обновлять связанные таблицы или повторно выполнять запросы при помощи кнопки Обновить или командой меню. После внесения изменений в MapInfo Professional данные из связанной таблицы можно сохранить в исходной таблице реляционной базы данных, разрешая конфликты редактирования.

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

• запись должна существовать с таблице СУБД;

• чтобы включить индивидуальные стили оформления объектов, необходимо задать параметры в каталоге карт.

Внимание: Использование индивидуальных стилей оформления объектов не является обязательным.

Драйверы СУБД

Перед тем как обращаться к SQL-базе данных, нужно установить соответствующий данному типу баз данных драйвер СУБД. Драйверы СУБД можно устанавливать во время установки MapInfo, или позже, через утилиту СУБД Administrator в Панели управления (Control Panel) Windows. Последняя утилита позволяет устанавливать дополнительные драйверы СУБД. Каждый СУБД-драйвер представляет собой динамическую библиотеку(.DLL), с помощью которой MapInfo соединяется с определенной SQL-базой данных. Для каждого типа базы данных SQL требуется свой специальный драйвер СУБД.

О связанных таблицах и метаданных

MapInfo Professional хранит информацию о связанной таблице в метаданных TAB-файла и не показывает их на Карте. MapInfo Professional использует метаданные для хранения сведений о транзакциях между MapInfo Professional и базой данных сервера. Два наиболее распространенных типа дополнительных сведений в метаданных - строка подключения и запрос, построенный программой типа DBMS Table Wizard или в диалоге режима Expert.

• Подробнее, смотрите раздел Справочной системы:"Разрешение конфликтов при сохранении связанной таблицы".

О таблицах прямого доступа

Можно получить прямой, непосредственный доступ из MapInfo Professional к удаленным данным. Этот вариант называется прямым доступом, поскольку нет локальных копий данных - все операции с данными выполняются напрямую на сервере. Этим они отличаются от связанных таблиц, для которых в обычную таблицу MapInfo Professional загружается копия таблицы удаленной базы данных.

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

Таблицы прямого доступа могут быть созданы с или без кэширования в памяти. Кеш - это выделенная область оперативной памяти, в которой хранятся записи, отображенные в окне карты. Этим оптимизируются определенные операции на карте - всплывающие подписи, подписи и т.п. Кеш автоматически обновляется при изменении содержимого окна карты (например, при изменении масштаба или сдвиге).

Начальный вид карты таблицы прямого доступа формируется на основе записей в MapInfo_ MapCatalog. В колонках DB_X_LL, DB_X_UR, DB_Y_UR описаны прямоугольные области начального вида карты. Если таблица прямого доступа добавляется к открытой в окне Карте, то новый слой будет показан в границах существующей карты.

MapInfo Professional хранит сведения о таблице прямого доступа в TAB-файле. Этот тип информации называется метаданные. MapInfo Professional использует метаданные для хранения сведений о таблице прямого доступа, необходимых для организации транзакций между MapInfo Professional и базой данных сервера. Два наиболее распространенных типа дополнительных сведений в метаданных - строка подключения и запрос, построенный программой типа DBMS Table Wizard или в диалоге режима Expert.

Ограничения в создании прямого доступа

Список известных проблем/замечаний, связанных с прямым доступом:

• Каждая таблица должна иметь единственный уникальный ключ.

• Режим быстрого редактирования не поддерживается.

• В таблицах MS Access, если ключ символьный, то строки, значение ключа которых меньше размера поля, показаны не будут. Например, если тип ключа char(5), то строка, в которой значение ключа 'яяяя', будет выглядеть как удаленная.

• Изменения, сделанные другим пользователем, не отображаются, пока данные не обновлены на сервере. (Кроме этого, при включенном режиме Хранить в памяти изменения, сделанные другим пользователем, могут не показываться в списке до тех пор, пока не применено масштабирование карты или перемещение по карте);

• Возникнут проблемы, если приложение-клиент в одном запросе (командой SQL-запрос или с помощью MapBasic) обратится к двум или более таблицам SpatialWare, хранящимся в разных системах координат. Это неэффективно (лучше осуществлять операции объединения в SQL-запросах определяющих таблицы).

Ограничения прямого доступа к таблицам удаленных баз данных

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

Если число записей, хранящееся в Каталоге Карт (MapCatalog), отличается от действительного количества записей в таблице, возникнут проблемы. На карте будут показаны все объекты этой карты, но другие представления могут обрабатываться неверным образом. Например:

• Число записей в окне Списка может быть ошибочным.

• Предложение MapBasic для перехода к нужной записи по счетчику приведет к неправильной записи.

Тематические карты, особенно построенные по индивидуальным значениям, могут отображаться некорректно.

• Подробнее, смотрите раздел Справочной системы: "Повышение производительности

при работе с таблицами прямого доступа".

Доступ к удаленной пространственной базе данных

Чтобы в Maplnfo Professional использовать удаленные таблицы наиболее эффективным образом, Вам придется подготовить их для хранения координат или более сложных пространственных данных и лишь после этого использовать для обмена и получения этих данных. Вы также сможете после этого геокодировать удаленные таблицы и присваивать координаты каждой записи таблицы.

Существует четыре условия, необходимых для сохранения и выборки географических точек в таблице удаленной СУБД:

• Значения координат этих точек должны быть сохранены в колонках таблицы в виде чисел или в приспособленных для хранения пространственной информации колонках базы данных (если база данных допускает такое хранение, например, SpatialWare, Oracle Spatial). Более подобные инструкции приводятся в разделе Сохранение значений координат в удаленной таблице.

• Колонка, содержащая пространственный индекс, может дополнительно использоваться для повышения производительности выполнения запросов к пространственным данным. Более подобные инструкции приводятся в разделе Создание колонки пространственного индекса.

• Необходимо создание специальной таблицы удаленной СУБД, называемой MapInfo_ MapCatalog. (MapInfo Professional создает каталог автоматически при использовании "EasyLoader".) В каждой базе данных может быть только один такой каталог Более подобные инструкции приводятся в разделе Создание MapInfo_Mapcatalog.