Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Алгоритм импорта обменного файла

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей
Предыдущая тема :: Следующая тема  
Автор Сообщение
Foton



Зарегистрирован: 09.10.2006
Сообщения: 158
Откуда: Ярославль

СообщениеДобавлено: Ср 23 Окт 2013 12:41    Заголовок сообщения: Алгоритм импорта обменного файла Ответить с цитатой

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

Что изменяет самая первая галочка "Переопределять структуру..."
если галка стоит, то что будет переопределено?
связь производится по названию или по айдишнику?
по идее, было бы логично: если галка стоит происходит откат до "состояния обменника". а если не стоит? Что будет с новыми объектами, которых нет в обменнике? Что будет с измененными объектами в том и другом случае? а с удаленными?
в общем одни вопросы. так не хочется выяснять это экспериментальным путем Rolling Eyes


Последний раз редактировалось: Foton (Чт 24 Окт 2013 13:35), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Чт 24 Окт 2013 08:39    Заголовок сообщения: Re: Алгоритма импорта обменного файла Ответить с цитатой

Foton писал(а):
Что изменяет самая первая галочка "Переопределять структуру..."
если галка стоит, то что будет переопределено?

Обменный файл IDF содержит не только пространственные объекты, но и параметры объектов, описывающих структуру базы - карты, слои, стили и прочее, что мы видим в проводнике базы данных.

При импорте, в первую очередь происходит согласование структуры БД со структурой IDF.

Элементы структуры, которые присутствуют в IDF, но отсутствуют в БД, будут созданы в БД.

Элементы структуры, которые присутствуют и в IDF и в БД, будут обновлены в БД (переопределены). например, будут заменены имена карт, слоев, стилей и т.п. Для стилей будет заменен набор методов отображений.

Однако это не всегда желательно. Для отключения изменений существующих объектов структуры и предназначена галочка "Переопределять структуру".

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

Foton писал(а):
связь производится по названию или по айдишнику?

Сопоставление элементов БД и IDF производится по идентификатору (его полной форме {GUID}number). Это касается и объектов структуры и пространственных объектов.

Foton писал(а):
Что будет с новыми объектами, которых нет в обменнике?

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

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

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

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Foton



Зарегистрирован: 09.10.2006
Сообщения: 158
Откуда: Ярославль

СообщениеДобавлено: Чт 24 Окт 2013 11:13    Заголовок сообщения: Ответить с цитатой

Михаил, а с таблицами семантики что будет? если столбцы различаются..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Чт 24 Окт 2013 13:34    Заголовок сообщения: Ответить с цитатой

Foton писал(а):
Михаил, а с таблицами семантики что будет? если столбцы различаются..

Поведение импорта структур семантических таблиц немного отличается от других объектов структуры.

Если таблицы нет в базе, она будет создана.

Если таблица уже есть в базе, её структура не изменится, независимо от того, установлена галочка "Переопределять структуру" или нет.

При импорте самих значений семантики пространственных объектов строится таблица соответствия имен полей в базе и имен полей в IDF.

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

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Foton



Зарегистрирован: 09.10.2006
Сообщения: 158
Откуда: Ярославль

СообщениеДобавлено: Чт 24 Окт 2013 13:40    Заголовок сообщения: Ответить с цитатой

Михаил Власов писал(а):

Если таблица уже есть в базе, её структура не изменится, независимо от того, установлена галочка "Переопределять структуру" или нет.


получается пройдет импорт(обновление) только полей, которые существуют в базе и в обменнике?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Чт 24 Окт 2013 14:00    Заголовок сообщения: Ответить с цитатой

Foton писал(а):
Михаил Власов писал(а):

Если таблица уже есть в базе, её структура не изменится, независимо от того, установлена галочка "Переопределять структуру" или нет.


получается пройдет импорт(обновление) только полей, которые существуют в базе и в обменнике?

Именно так.

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

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Foton



Зарегистрирован: 09.10.2006
Сообщения: 158
Откуда: Ярославль

СообщениеДобавлено: Пт 25 Окт 2013 10:48    Заголовок сообщения: Ответить с цитатой

Михаил Власов писал(а):
Именно так.

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

по идее да, это было бы логично делать при установленной галке "Переопределение..."
Спасибо что помогли разобраться
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB