Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

65SUPRU

.pdf
Скачиваний:
13
Добавлен:
13.02.2015
Размер:
6.17 Mб
Скачать

Открытие таблицы СУБД

Диалог “Открыть таблицу СУБД ] Шаг 1 из 4”

1.Выберите тип подключения из списка. В списке могут перечисляться только установленные Вами компоненты поддержки подключения к СУБД – Mapinfo ODBC или Oracle8i, или оба типа.

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

Для того чтобы создать новое подключение необходимо нажать кнопку НОВОЕ… Если Вы выбрали тип подключения ODBC, то появится диалог Выбор источника данных. Если Вы выбрали тип подключения Oracle8i, то появится диалог "Соединение MapInfo c Oracle".

117

Открытие таблицы СУБД

MapInfo ODBC

Выберите

Показывает список доступных источников данных —

файловый

DSN (data source names) и каталогов содержащихся в

источник данных

общем каталоге просмотра. Двойное нажатие на имя

 

приводит к установлению соединения.

Просмотр

Показывает имя каталога, в котором хранятся Имена

 

Источников Данных и подкаталоги, которые в это время

 

показаны в окне ниже. Нажатие на стрелку справа от

 

поля имени приводит к показу структуры каталогов.

Имя DSN

Показывает выбранное имя источника данных. Вы

 

можете ввести новое DSN.

Создать

Добавить новый источник данных. После нажатия на эту

 

кнопку появится диалог “Создать Новый Источник

 

Данных”, содержащий список драйверов. Выберите

 

драйвер, для которого Вы создаете файл DSN. Нажав на

 

кнопку ДАЛЕЕ (NEXT), можно ввести ключевые слова для

 

этого файла DSN. Смотрите раздел “Создание нового

 

источника данных” выше.

 

 

118

Открытие таблицы СУБД

OK

Закрывает окно диалога Администратора и

 

устанавливает соединение, выбранное в списке или

 

введенное в поле ввода имени DSN. Изменения в

 

настройках происходят после нажатия кнопки OK в

 

соответствующем окне диалога.

Отмена

Окно диалога Администратора закрывается без

 

установления соединения. Изменения в настройках

 

источников данных не отменяются.

Справка

Обеспечивает показ Справки.

 

 

Oracle8i

В этом диалоге требуется ввести имя сервера, имя пользователя,

пароль и после этого нажать кнопку OK.

После того как Вы выбрали или установили новое подключение

появится список таблиц. Маршрут доступа к подключению к базе

данных или к имени базы данных также будет показан. Список будет

пустым если источник подключения не содержит никакой

информации.

3.Нажмите на поле имени таблицы, которую Вы хотите загрузить.

4.Дополнительно, можно использовать кнопку Фильтр. С её помощью можно ограничить список отображаемых таблиц по их типу. По умолчанию в окно списка выводятся таблицы следующих типов: –

Таблицы (Tables), Представления (View), Синонимы (Synonyms), и не показываются Системные (System) таблицы.

5.Нажмите кнопку ДАЛЕЕ.

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

119

Открытие таблицы СУБД

Шаг 2, Выбор колонок

Во втором диалоге ассистирующей процедуры “Открыть таблицу СУБД ( Шаг 2 из 4” Вы можете выбрать колонки таблицы, содержащие данные, которые требуется загрузить. По умолчанию загружаются все колонки.

Диалог “Открыть таблицу СУБД ] Шаг 2 из 4”

1.С помощью кнопок направления заполните список группы Выбраны именами колонок, которые перечислены в списке группы Доступны. Кнопка с одной стрелкой перемещает между группами единственное имя колонки, а кнопка с двумя стрелками перемещает все колонки.

2.С помощью кнопок ВВЕРХ и ВНИЗ можно изменить порядок отображения колонок в окне списка. Нужно сначала отметить имена колонок в списке группы, а затем нажать нужную по смыслу кнопку.

3.При необходимости нажмите кнопку ВРУЧНУЮ. Вы сможете ввести SQL запрос самостоятельно.

4.Нажмите кнопку ЗАВЕРШИТЬ.

Если таблица содержит геоинформацию, в списке доступных появится ещё одна колонка с именем "OBJECT". Эта колонка соответствует столбцу базы данных, содержащему пространственные данные. Для загрузки точечных объектов Вы можете её использовать также как и любую другую.

120

Открытие таблицы СУБД

В начале работы программы в списке группы Выбраны используется замещающий символ звездочка (*). Если Вы его оставите, то будут все колонки будут отмечены как подлежащие загрузке.

Шаг 3, Выбор строк

Диалог “Открыть таблицу СУБД ( Шаг 3 из 4” является третьим диалогом ассистирующей процедуры, позволяющим Вам ограничить загрузку данных строками, которые удовлетворяют заданным Вами критериям (аналогично применению предложения WHERE в SQL(запросе). Если Вы не задали в этом диалоге ни одного критерия, будут загружены все строки таблицы СУБД.

Диалог “Открыть таблицу СУБД ] Шаг 3 из 4”

1.Из списка столбцов выберите столбец, по которому Вы осуществляете отбор строк.

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

2.Настройте фильтр, которым Вы будете пользоваться при выборе записей в окнах Оператор и Значение. Эти настройки будут подробнее описаны ниже.

3.Вы можете составить SQL запрос вручную, нажав соответствующую кнопку этого диалога.

4.Нажмите кнопку ДАЛЕЕ.

121

Открытие таблицы СУБД

Список Оператор включает все поддерживаемые символы операций для соответствующих выбранных колонок. Список операторов будет варьироваться в зависимости от типа выбранной колонки. Например, операторы <, > и = будут присутствовать (среди других) для численных колонок, тогда как для объектных колонок будет присутствовать только оператор WITHIN.

Тип элемента управления Значение определяется типом колонки.

Для объектных колонок этот список будет включать значения CURRENT_MAPPER и SELECTION.

Для всех остальных типов колонок пользователь вводит значение нужного типа.

Если Вы выбрали колонку с присоединенной геоинформацией и применили к ней оператор ‘Within’, MapInfo возвращает только объекты, которые

попадают в границы выбранной области. В прежних версиях MapInfo этот оператор возвращал объекты лежащие в границах МОП (минимального описанного прямоугольника), построенного вокруг выбранной области. В новой версии объекты составленные из нескольких предварительно объединяются в единый комбинированный объект и уже он используется для получения ожидаемых результатов. Этот объект сохраняется в файле .tab и может быть использован повторно при следующих вызовах этого .tab файла.

Строковые значения заключаются в одинарные кавычки, например, “Нижний Новгород”. Численные значения вводятся без кавычек. Например, для численной колонки следует использовать оператор больше '>' и значение 0. При выполнении этого оператора в запросе будут возвращены все записи численные значения в колонке больше нуля.

С оператором LIKE можно использовать два замещающих символа – “%” и “_”. Символ “%” соответствует нулю или большему количеству символов; символ “_” соответствует только одному символу.

Если строки отбираются по нескольким колонкам, становятся доступными окошки списка Логический оператор. Вы можете выбрать один из следующих операторов: AND, OR, AND NOT или OR NOT.

Шаг 4, Локальное сохранение таблицы

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

122

Открытие таблицы СУБД

Диалог “Открыть таблицу СУБД ] Шаг 4 из 4”

1.Определите папку, в которой будет сохранена таблица. Папки и файлы появляются в окне ниже.

2.Определите имя файла для таблицы. Имя не должно совпадать с именами уже открытых в MapInfo таблиц.

3.Выберите способ отображения данных таблицы в MapInfo:

Как получится: MapInfo выбирает подходящий способ отображения таблицы: Новая Карта, Текущая Карта или Список.

Список: Открывает таблицу в окне Списка MapInfo.

Текущая Карта: Добавляет отображение таблицы к текущему окну Карты MapInfo.

Новая Карта: Отображает таблицу в окне Карты MapInfo.

Скрыть: Открывает таблицу без отображения ее данных в окне MapInfo.

123

Открытие таблицы СУБД

4.Поставьте флажок Загрузить данные локально и создать связанную таблицу. Отсутствие флажка приводит к работе с данными напрямую. (См. “Прямой доступ к удаленным данным через ODBC” ниже).

5.При прямом доступе флажок Хранить в памяти активен. Если его отметить, то данные и их атрибуты будут помещены в память компьютера. При этом не потребуется обращаться к базе данных при масштабировании. (Поскольку MapInfo просматривает значения в памяти, то последние изменения в базе данных не отображаются). Если используется этот режим , то изменения, сделанные другим пользователем, могут не появляться на экране до тех пор, пока содержимое в памяти не обновлено масштабированием или смещением. Отсутствие флажка приводит к тому, что происходит обращение к базе данных при любой операции. В этом случае данные наиболее актуальны, но возможны задержки. (См. ниже “Прямой доступ к удаленным данным через ODBC”).

6.Нажмите кнопку ГОТОВО и сохраните данные в таблицу.

Запрещение редактирования связанной таблицы

Связанная таблица может быть запрещена для редактирования вследствие

любого из ниже перечисленных обстоятельств:

Данные, загруженные из сервера данных, запрещены для редактирования.

В данных, загруженных из сервера данных, отсутствуют редактируемые колонки.

Данные, загруженные из сервера данных, не содержат первичного ключа.

Если загруженные с сервера данные не содержат первичного индекса, Вы можете его создать. После этого таблицу можно редактировать. Далее в главе будет описана процедура создания первичного индекса в удаленной таблице с помощью MapInfo.

Запрет на редактирование пространственного объекта

Пространственные объекты тоже могут быть запрещены для редактирования.

Пространственные объекты в таблице СУБД не редактируемы в следующих случаях:

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

124

Создание прямого доступа к удаленным данным с помощью ODBC

Например, операция построения буферной зоны, выполненная на сервере.

Пространственные данные хранятся в трехмерном представлении.

Создание прямого доступа к удаленным данным с помощью ODBC

Вы можете напрямую обращаться к данным удаленных баз данных и обрабатывать их на сервере. Новым для версии MapInfo Professional 6.5 является поддержка прямого доступа к SpatialWare 4.5 на SQL Server 7 и

2000 (поддержка SpatialWare 4.3 прекращена). В SpatialWare 4.5 для SQL Server, Вы можете загрузить таблицу из чужого пространства таблиц. Используйте стандартную процедуру подключения к источнику данных. После этого Вы сможете открыть таблицу СУБД и использовать связанную таблицу MapInfo.

Для организации прямого доступа к СУБД :

Ассистирующая процедура доступа к СУБД состоит из 4 диалогов. Когда Вы дойдете до диалога “Открыть таблицу СУБД ( Шаг 4 из 4”, сделайте следующее:

1.Уберите флажок Загрузить данные (связанная таблица). Если этот флажок отмечен, данные загружаются в связанную таблицу. Отсутствие флажка указывает на прямой доступ к данным.

2.При прямом доступе становится активным флажок Хранить в памяти. Если его отметить, то атрибуты и объекты будут загружены в память компьютера. Это позволит масштабировать карту и перемещаться по ней без обращений к удаленной базе данных. При этом следует учитывать, что поскольку MapInfo просматривает записи в локальной памяти, программа не имеет доступа к последним редакциям данных. Если включен режим Хранить в памяти, то изменения, сделанные другими пользователями могут не отображаться, пока содержимое памяти не обновлено операцией масштабирования или перемещения по карте. При отключенном флажке Хранить в памяти все данные будут обрабатываться на сервере. При этом данные будут наиболее актуальны а доступ к ним будет менее эффективным.

3.Нажмите кнопку ГОТОВО. После этого будет создан .tab файл.

После завершения диалога будет записан и открыт tab файл. В следующий раз

для доступа к данным Вам потребуется только открыть этот tab файл.

125

Создание прямого доступа к удаленным данным с помощью ODBC

Прежде чем открывать напрямую таблицу из удаленной базы данных, настоятельно рекомендуется сначала открыть таблицу с картой (например, RUS_OBL.TAB), соответствующую данным в удаленной базе данных. Если этого не сделать, то вся таблица будет обработана и загружена, что может занять много времени.

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

Ограничения

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

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

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

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

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

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

Таблицы Oracle 7, проиндексированные по полю десятичного типа, размером больше 8 байт вызывает ошибку исполнения при попытке редактирования.

Для Oracle Spatial глубина вложенности построения пространственного индекса влияет на производительность.

126

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]