ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Настройка extproc для доступа к ST_Geometry в Oracle

Функции SQL ST_Geometry в Oracle используют общую библиотеку, которая работает с Oracle через агент внешней процедуры Oracle, называемый extproc. У Oracle должен быть физический доступ к файлам библиотеки для:

  • Выполнения функций SQL ST_Geometry из клиентов.
  • Получения доступа к столбцам XML в системных представлениях GDB_ITEMS_VW и GDB_ITEMRELATIONSHIPS_VW базы геоданных.
  • Определения слоя запроса в ArcMap или ArcGIS Pro, который исполняет функции SQL над столбцами ST_Geometry.
  • Публикации веб-сервиса, который ссылается на данные базы данных Oracle.

Чтобы выполнять эти задачи, необходимо настроить среду внешних процедур Oracle для вызова библиотеки ST_Geometry.

Подсказка:

Библиотека ST_Geometry устанавливается вместе с клиентами ArcGIS Server и ArcMap, или ее можно загрузить с My Esri. Если на компьютере с Oracle установлен ArcGIS Server или ArcMap, можно настроить файл extproc.ora на обращение в одно из следующих местоположений, а два предварительных шага, указанных ниже, можно пропустить.

  • ArcGIS Server на Windows: <ArcGIS Server installation directory>\ArcGIS\Server\DatabaseSupport\Oracle\Windows64
  • ArcGIS Server на Linux: <ArcGIS Server installation directory>/arcgis/server/DatabaseSupport/oracle/linux64
  • ArcMap: <ArcMap installation directory>\ArcGIS\Desktop<version>\DatabaseSupport\Oracle\Windows64

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

Прежде чем настраивать Oracle extproc, выполните эти шаги:

  1. Если экземпляр Oracle не имеет доступа к указанному выше месту установки ArcGIS Server или ArcMap, загрузите библиотеку ST_Geometry с My Esri или скопируйте их с компьютера, где установлен клиент ArcGIS, в папку на компьютере с Oracle. Убедитесь, что вы скопировали библиотеку, соответствующую операционной системе на вашем сервере Oracle.

    Примечание:

    При развертывании на сервере Microsoft Windows для библиотеки ST_Geometry требуется Microsoft Visual C++ Redistributable Package (x64). См. требования к базе данных Oracle, чтобы узнать о требующейся версии пакета. Если данный пакет отсутствует на сервере Oracle, загрузите его с сайта Microsoft и установите.

  2. В инструментах геообработки Создать пространственный тип, Создать многопользовательскую базу геоданных и Включить многопользовательскую базу геоданных к библиотеке ST_SHAPELIB задается путь по умолчанию. Подключитесь к экземпляру Oracle как пользователь sde из клиента SQL и выполните следующую команду SQL, чтобы узнать, как путь сейчас задан для библиотеки ST_SHAPELIB:

    SELECT file_spec
     FROM user_libraries
     WHERE library_name = 'ST_SHAPELIB';
    

    Если возвращенный путь не соответствует местоположению файла библиотеки ST_Geometry, необходимо пересоздать библиотеку после настройки extproc.

Настройте в файле Oracle extproc.ora местоположение файла библиотеки ST_Geometry.

  1. Сделайте резервную копию файла extproc.ora на сервере Oracle.
  2. Откройте файл extproc.ora и измените его, чтобы задать местоположение библиотеки st_shapelib.dll (Windows) или libst_shapelib.so (Linux or UNIX).

    В этом примере на Oracle Windows сервере не был установлен клиент ArcGIS, поэтому библиотека st_shapelib.dll была скопирована в папку mylibraries на сервере Oracle. Следующая строка была добавлена в файл extproc.ora, чтобы указать местоположение библиотеки ST_Geometry в этой папке:

    SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.dll

    В этом примере на сервере Linux или UNIX, для указания библиотеки ST_Geometry в папке пользователя esrilibs, которая была создана на сервере Oracle для хранения библиотеки, добавляется следующая строка:

    SET EXTPROC_DLLS=ONLY:/user/esrilibs/libst_shapelib.so

  3. Сохраните и закройте файл extproc.ora.

    Может потребоваться перезапуск экземпляра Oracle для считывания изменений в файле extproc.ora.

  4. Если вы изменили расположение файла библиотеки ST_Geometry по умолчанию, и местоположение не указано, создайте или заново создайте библиотеку ST_SHAPELIB в базе Oracle.

    В этом примере библиотека ST_SHAPELIB находится в папке mylibraries на сервере Oracle Windows, где расположен файл st_shapelib.dll.

    CREATE or REPLACE LIBRARY ST_SHAPELIB
     AS 'C:\mylibraries\st_shapelib.dll';
    

  5. Если вы заново создали библиотеку, еще раз компилируйте пакет sde.st_geometry_shapelib_pkg.

    ALTER PACKAGE sde.st_geometry_shapelib_pkg COMPILE
     REUSE SETTINGS;
    

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

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация