Подключение файлов к базе данных

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

В рассмотренном далее примере используется таблица address, в которую будут добавлены поля следующие поля для подключения документов:

Шаг 1. Настройка папки для документов

При хранении в базе ссылок на файлы предварительно необходимо настроить папку для хранения документов. ZuluGIS Mobile, ZuluGIS Online и ZuluServer файлы на которые дается ссылка в базе автоматически копируют в указанную папку. Если папку не указать, то файлы будут скопированы в ту же папку где расположен слой.

  1. В редакторе баз данных нажмите кнопку Сервис.

  2. Справа от строки Папка для изображений и документов нажмите кнопку Обзор... и укажите папку.

    При работе в многопользовательской версии (ZuluServer) когда слой хранится на сервере путь указывается непосредственно за компьютером сервером. Слой на компьютере сервере для задания папки необходимо открыть как локальный, указав до него полный путь на машине и только тогда задавать папку. Если в конфигурационном файле корневой каталог не указан, то по умолчанию в качестве него принимается подкаталог Data.

Шаг 2. Редактирование таблицы address

  1. В редакторе баз данных выделите таблицу address.

  2. Сделайте щелчок правой кнопкой мыши и в открывшемся контекстом меню выберите пункт Реструктурировать.

  3. Добавьте в таблицу поля:

    • Pasport – тип BLOB;

    • Photo – тип строковое, размер 150 символов;

    • Gallery - тип поля BLOB.

  4. Сохраните и закройте окно реструктурирования таблицы.

Шаг 3. Создание запроса

  1. В редакторе баз данных нажмите кнопку Запросы.

  2. Нажмите кнопку Создать....

  3. Добавьте в запрос таблицу address.

  4. Добавьте в список полей запроса поля.

    • Street;

    • Num_house;

    • Type_house;

    • Passport;

    • Photo;

    • Gallery.

  5. Дайте полям пользовательские названия.

  6. Укажите поле связи – Sys.

  7. В списке полей запроса выделите поле Photo и нажмите кнопку (свойства). В окне свойств в разделе тэги в первой строке из открывающегося списка выберите тэг document - он укажет системе, что из данного поля надо вызвать файл, путь к которому будет прописан в нем. Во второй строке выберите тэг picture - он означает что файл, путь к которому задается в этом поле, является изображением, и он будет отображаться в окне семантической информации в виде уменьшенного изображения. Применение данного тэга не обязательно, и при больших объемах прикрепленного файла возможно замедление открытия базы данных.

    Для закрытия окна нажмите кнопку ОК.

    Установка Тэгов

    Рисунок 661. Установка Тэгов


  8. Далее аналогично в списке полей запроса выделите поле Gallery, нажмите кнопку (свойства). В окне свойств в разделе тэги из открывающегося списка выберите тэг gallery - данный тэг позволяет подключать несколько файлов к одному полю. Справа от тэга введите опции files и links через пробел или запятую:

    Тэг gallery и опции files и links

    Рисунок 662. Тэг gallery и опции files и links


    Использование одновременно опций files и links позволяют использовать сочетание ссылок на файлы и непосредственное добавление файлов в базу.

    Для закрытия окна нажмите кнопку ОК.

  9. Для сохранения запроса нажмите кнопку Сохранить....

    Диалоговое окно Запрос

    Рисунок 663. Диалоговое окно Запрос


  10. Укажите имя запроса, например – База с документами, нажмите кнопку ОК.

Шаг 4. Выбор основного запроса

  1. В редакторе баз данных нажмите кнопку Запрос, в строке Основной запрос выберите из ниспадающего списка запрос База с документами.

  2. Сохраните описатель – кнопка Сохранить и закройте окно редактора баз данных.

Шаг 5. Задание папки для изображений

При использовании тэга document желательно указывать папку в которой будут храниться прикрепленные файлы. Это позволит в дальнейшем избежать путаницы в хранимых данных и значительно упростит передачу данных другим лицам в случае необходимости. Для назначения папки:

  1. В редакторе баз данных нажмите кнопку Сервис.

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

    [Примечание]Примечание

    При работе с серверными данными (ZuluServer) подробней о папке для изображений можно узнать в разделе «Дополнительные настройки».

Шаг 6. Открытие окна семантической информации

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

  1. На панели навигации нажмите кнопку информация .

  2. Сделайте активным слой Дома.

  3. Щелкните левой кнопкой мыши по любому объекту слоя. При этом на экране откроется окно семантической информации, готовое для занесения данных. В строке Паспорт для подключения документа надо нажать кнопку . Далее выбрать меню Файл|Загрузить и в открывшемся окне указать файл для загрузки. Если в настройках базы данных заранее указана папка по умолчанию, то будет открываться она.

    Фотография подключается точно таким же способом:

    Окно семантической информации

    Рисунок 664. Окно семантической информации


  4. Файлы в поле Галерея загружаются аналогично, только в меню надо выбрать Файл|Добавить, выбрать вариант загрузки и только потом указать файл:

    Выбор варианта загрузки

    Рисунок 665. Выбор варианта загрузки


    В зависимости от выбранного варианта будет либо в базу добавлен сам файл либо ссылка на него. Таким образом в галерею можно добавить нужное количество файлов:

Добавленные файлы и ссылки

Рисунок 666. Добавленные файлы и ссылки


Как видно из приведенного выше описания подключение файлов происходит по разному, и оно имеет одно принципиальное отличие. В том случае, когда дается ссылка на файл, база просто устанавливает с ним связь, и если документ будет изменен, то открываться будет уже измененный документ. Но при перемещении документа на новое место связь с ним будет утеряна! Когда же файл загружается в базу, связь с исходным файлом будет утеряна, изменения файла могут осуществляться только через ZuluGIS, при этом надо учитывать что объем базы данных будет сильно увеличиваться, особенно при использовании фотографий.