|
www.integro.ru ЦСИ ИНТЕГРО
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Foton
Зарегистрирован: 09.10.2006 Сообщения: 158 Откуда: Ярославль
|
Добавлено: Ср 23 Окт 2013 12:41 Заголовок сообщения: Алгоритм импорта обменного файла |
|
|
Давно терзают сомнения при импорте обменных файлов. В руководстве этот вопрос не освещен, поэтому хотелось бы разобраться.
Что изменяет самая первая галочка "Переопределять структуру..."
если галка стоит, то что будет переопределено?
связь производится по названию или по айдишнику?
по идее, было бы логично: если галка стоит происходит откат до "состояния обменника". а если не стоит? Что будет с новыми объектами, которых нет в обменнике? Что будет с измененными объектами в том и другом случае? а с удаленными?
в общем одни вопросы. так не хочется выяснять это экспериментальным путем
Последний раз редактировалось: 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 Заголовок сообщения: |
|
|
Михаил Власов писал(а): | Именно так.
Конечно, было бы неплохо перед импортом значений согласовывать структуру таблицы, но в данный момент это не реализовано. |
по идее да, это было бы логично делать при установленной галке "Переопределение..."
Спасибо что помогли разобраться |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|