Перенос (обновление) структуры геобазы

0 голосов
спросил 04 Июнь, 04 от Гость (210,080 баллов) в категории Программные продукты Esri

Чем, кроме uml-диаграммы, arccatalog, sde-команд и полусырых скриптов на vb (пример - geodatabase designer) можно реально "перенести" структуру из одной "sde" базы данных в другую. Задача осложняется тем, что "другая" база данных может уже содержать первоначально созданную структуру, и в ней могут уже содержаться данные. Нужно только внести различия (обновить) в структуру таблиц, слоев, наборов данных, доменов, правил, связей и т.д. Есть готовый инструмент?

Есть ли sde-команды, которые позволяют создать (изменить) - связь, набор данных, домен?

Есть ли какие-либо sql-пакеты (база данных Oracle) которые позволяют делать вышеописанное?

8 Ответы

0 голосов
ответил 04 Июнь, 04 от Гость (210,080 баллов)
Создание (перенос) должен осуществляться "одним кликом мыши" (вы уж простите за требовательность). Например, arccatalog  позволяет провести все это, но - в "полуавтоматическом" режиме. Не подходит.
0 голосов
ответил 05 Июнь, 04 от valery (7,040 баллов)

"Ночь кормить, к утру зарезать, и чтоб жирная была" =)

Если речь идет о добавлении записей в существующие графические таблицы, то тут и ArcCatalog не поможет.

Во всех продвинутых серверах есть механизмы автоматизации, специально для админов. Надо просто (не просто) это настроить. И режим бедет полностью автоматический.

А еще есть GeodatabaseDesigner2.0 на esri в скриптах лежит.

А если ничего не помогает, в том числе строгая формализация задачи, то остается один универсальный инструмент - руки =)

0 голосов
ответил 05 Июнь, 04 от Гость (210,080 баллов)

Речь идет о добавлении, скажем, еще одного столбца в новую геобазу ("одним кликом мыши", как я уже сказал) - не используя стандартные средства arccatalog. Я работал с geodatabase designer 2_83 - он этого не умеет - если есть уже существующая таблица (слой) - он не умеет "додуматься", что нужно обновить изменения из xml-файла в существующую структуру. Средство автоматизации Oracle (вы имеет в виду пакет для Enterprise Manager, который позволяет сравнивать изменения структуры баз разработчика и рабочей, уж не помню, как он там называется?) в данном случае не поможет, потому что все изменения структуры нужно зафиксировать в записях таблиц sde-репозитария. Неужели до сих пор никто ничего не написал готового для таких случаев? Или дайте мне ссылку на "новые" sde-команды, позволяющие создавать не только таблицы и слои. Или дайте ссылку на готовые sql-пакеты (за исключением стандартных, лежащих в схеме sde), которые позволяют работать со структурой географической базы данных, как это делают функции arcobjects.

Помогите! :)

Как Вы, Валерий, лично сами, распространяете обновления структуры Вашей геобазы удаленно? Неужели сами, как опытный гис-специалист, едете на место нахождения базы и "ручками" делаете все изменения? Или пишете пошаговую инструкцию о том, что нужно сделать конечному пользователю, чтобы Ваши новые проекты правильно работали, надеясь на то, что пользователь (зачастую не администратор и не разработчик) сам все сделает правильно и нигде, при изменениях структуры, не ошибется?

0 голосов
ответил 06 Июнь, 04 от valery (7,040 баллов)

К моему прискорбию, переносом баз геоданных я не занимаюсь (заказчики не доросли). Чем могу помочь - сформулировать (разбить по частям) задачу и поискать пути автоматизации ее элементов. Мне и самому это интересно.

Моя практика на сегодня - программное обеспечение написано на базе MS SQL. Данные мы не заносим. По мере обновления готовим обновляющие SQL скрипты. Ездим сами, тут дело не только в скриптах и программах. С компьютера заказчика просто выполняем скрипты, на файловый сервер выкладываем обновленных клиентов - их по рабочим местам юзеры (рудничные геологи) забирают сами. В принципе, если бы дело было только в программном, обновляющие скрипты и клиентов можно было отправлять и майлом.

В чем именно проблема?

  • Надо добавить поля (атрибуты)
  • обновить записи (графические и доменные данные)
  • связи между таблицами (если разрабатываете еще и клиентское место)

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

0 голосов
ответил 07 Июнь, 04 от Гость (210,080 баллов)

Проблема уже описана в первом посте.

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

В определенный момент времени встанет задача распространить эту структуру по заказчикам. В этот момент помочь сможет geodatabase designer - можно будет "слить" (! - здесь - важно, что "дизайнер" это делает автоматически!!!) всю имеющуюся структуру в xml-файл, затем распространять две вещи - designer (благо, что это бесплатное приложение) и созданный xml-файл, из которого (! опять же - автоматически) - "дизайнер" создаст на новом месте пустую структуру, включая домены и прочее.

Разработка не останавливается. Заказчики обнаруживают ошибки в приложении, просят о дополнительной функциональности. Разработчик (опять же - вручную) - по необходимости изменяет структуру геобазы на сервере для разработки. После создания клиента, протестировав новую функциональность, разработчик сталкивается со следующей задачей: все изменения структуры геобазы, которые он произвел, нужно в автоматическом режиме распространить по заказчикам. Я не знаю, какие для этого есть готовые решения. Например, если остановиться на технологии, которая предпогалается при использовании geodatabase designer (xml-файл) - нужно, чтобы "дизайнер" умел либо создавать файл структуры, в котором есть только изменения (автоматом!), либо создавать полный файл структуры (это "дизайнер" сейчас умеет), а затем проводить только обновления на месте, у заказчика, его структуры базы геоданных из этого файла (это "дизайнер" сейчас не умеет).

Вообще, по большому счету проблемы нет - мне нужно только изучить arcobjects и переделать "дизайнер", благо, что исходные коды прилагаются. Но зачем изобретать велосипед, если есть (я уверен, что есть!) готовые решения.

Подскажите!

0 голосов
ответил 10 Июнь, 04 от valery (7,040 баллов)

Насчет отсутствия в ГИС автоматизации такого уровня согласен.

Видимо, в твоем случае, заказчики весьма требовательны, если имея много серверов ораклов с SDE не могут позволить себе штатного админа, который мог бы это дело курировать. Но это лирика.

Как я понял - в одном месте создается ТОЛЬКО структура, в других - ТОЛЬКО данные.

Вариант решения - вами создается пустая база данных с новой структурой, а заказчики при обновлении переливают данные из старой базой в пустую новую. Оптом, imho, это проще. Длительность процесса копирования повышает у Заказчика уровень уважения к себе (эк сколько мы наваляли=).

В ArcCatalog можно создавать *.bat файлы, в которых прописать все копирование данных (там кнопочка Save внизу). Думаю, на такой фокус, как выполнить командный файл, можно написать подробное пошаговое руководство, тем более последовательность действий впоследствии изменяться не будет.

0 голосов
ответил 11 Июнь, 04 от Гость (210,080 баллов)
"бат"- файл не все может
0 голосов
ответил 23 Июль, 04 от Grigoriy (127,020 баллов)
Самое правильное решение - нарисовать всё-таки один раз структуру базы в Visio. И пользоваться Schema Wizard. Он при загрузке проверяет существующие в базе наборы данных, и если есть возможность - вносит изменения. Для большинства задач его вполне достаточно (добавить поле, домен, значение в домен, связь между таблицами).
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...