Краткий обзор сервисов ArcSDE

В этом разделе объясняется, как работает сервис ArcSDE, и что происходит, когда подключается клиент с использованием сервиса ArcSDE.

Как работает сервис ArcSDE

Когда вы подключаетесь к базе данных с помощью сервиса ArcSDE (который также называется сервером приложений ArcSDE), то каждый сервис ArcSDE ожидает подключения пользователей на выделенном имени сервиса TCP/IP и номере порта через процесс giomgr. Имя сервиса по умолчанию – esri_sde, а номер порта по умолчанию – 5151.

Необходимо добавить имя сервиса и номер порта в файл services.sde в папке $SDEHOME/etc (Linux) или %SDEHOME%\etc (Windows). Подробные сведения об этом файле см. в разделе Файл services.sde. Также необходимо добавить те же строки в файл services в папке операционной системы.

В Windows: сервис ArcSDE можно запустить и остановить из меню Службы Windows. В Linux и UNIX: необходимо использовать команду sdemon.

ПримечаниеПримечание:

Большинство поддерживаемых систем управления базами данных (СУБД) допускают использование более чем одной базы данных на сервере. Каждая база данных должна иметь собственный сервис ArcSDE, но с помощью этого сервиса ArcSDE к базе данных могут подключаться множество клиентов.

Что происходит, когда клиентское приложение подключается с помощью сервиса ArcSDE?

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

  1. Процесс giomgr ожидает подключения на своем порту TCP/IP.

    Giomgr сможет обработать запрос на подключение, только если перед этим он находился в состоянии ожидания. Убедитесь, что сервис ArcSDE запущен и готов принимать запросы. В UNIX и Linux: используйте команду sdemon –o status, чтобы определить состояние процесса giomgr.

    В Windows: проверьте статус сервиса приложений ArcSDE в меню Службы. Откройте инструменты Администрирование (Administrative tools). Дважды щелкните на значке Службы, (Services), чтобы открыть меню Службы. Сервис ArcSDE должен иметь статус Работает (STARTED) в столбце состояния. В Windows также можно использовать команду sdemon –o status в командной строке MS-DOS, вместо меню Службы.

  2. Приложения принимают запросы на подключение к сервису ArcSDE.

    Процесс giomgr периодически обрабатывает запросы на подключение. В зависимости от используемой СУБД процессу giomgr может требоваться от 1 до 5 секунд для подтверждения запроса на подключение. Возможно, что несколько приложений пытаются одновременно установить подключение, что может привести к превышению стандартного времени ожидания TCP/IP, которое составляет 75 секунд.

  3. Служба Giomgr сравнивает время на часах компьютера, где установлено приложение, со временем на собственном компьютере.

    Если время на часах компьютера с приложением больше, чем значение MAXTIMEDIFF в секундах на часах сервера, процесс giomgr не разрешает приложению подключиться. Значение MAXTIMEDIFF устанавливается в таблице SERVER_CONFIG. Подробнее см. Системная таблица SERVER_CONFIG.

  4. Служба Giomgr сравнивает версию клиентского приложения с версией сервиса ArcSDE.

    Если версия клиентского приложения более ранняя, чем версия сервера приложений, происходит отказ в подключении, кроме случая подключения клиентов ArcGIS 10 к серверам приложений 10.1.

  5. Процесс giomgr запускает процесс gsrvr, который обслуживает приложение.

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

  6. Процесс gsrvr подключается к СУБД.

    Клиентское приложение должно предоставлять правильные имя пользователя, пароль и имя базы данных (имя базы данных не требуется для СУБД Oracle) при отправке запроса на соединение процессу giomgr. Неправильные значения отклоняются с ошибкой -9 SE_INVALID_USER.

  7. Процесс giomgr подключает приложение к процессу gsrvr.

    После того как процесс giomgr подключил приложение к процессу gsrvr, он возобновляет ожидание новых соединений и выполняет другие задачи по управлению сервисом ArcSDE. Все взаимодействие приложения с СУБД производится через процесс gsrvr.

Связанные темы

9/11/2013