Настройка базы геоданных для доступа к пространственным данным внешних клиентов

Печать Предыдущая страница Стартовая страница Следующая страница

Данный пункт выполняется, когда база геоданных ArcSDE уже развёрнута в БД Oracle.

Для обеспечения возможности доступа внешних клиентов к базе геоданных необходимо выполнить подключение и настройку библиотеки ST_SHAPELIB.DLL. Данная библиотека предоставляется в составе продуктов ArcGIS и предназначена для работы с форматом пространственных данных St_Geometry (ArcSDE).

Перед выполнением настройки библиотеки ST_SHAPELIB.DLL в БД Oracle она должна быть размещена на сервере СУБД Oracle, и должны быть выполнены определённые настройки в конфигурационных файлах СУБД Oracle.

После этого в отношении базы данных Oracle, в которой размещена база геоданных ArcSDE, следует выполнить следующие действия. Предполагается, что база геоданных ArcSDE создана в базе данных Oracle в схеме пользователя SDE. Для выполнения приведённых ниже команд используется любой интерпретатор SQL-запросов Oracle. Например, Oracle SQL Developer.

1)  Подключиться к базе данных от имени суперпользователя SYS (AS SYSDBA).

2)  Назначить пользователю SDE необходимые полномочия, для этого выполнить от имени SYS:

 GRANT EXECUTE ON dbms_pipe TO SDE;

 GRANT EXECUTE ON dbms_lock TO SDE;

 GRANT EXECUTE ON dbms_lob TO SDE;

 GRANT EXECUTE ON dbms_utility TO SDE;

 GRANT EXECUTE ON dbms_sql TO SDE;

 GRANT EXECUTE ON utl_raw TO SDE;

 GRANT EXECUTE ON utl_recomp TO sde;

 GRANT CREATE LIBRARY TO SDE;  

 GRANT EXECUTE ON DBMS_CRYPTO TO SDE;

3)  Подключиться к базе данных от имени пользователя SDE.

4)  Проверить корректность пути к внешней библиотеке:

 SELECT * FROM user_libraries WHERE LIBRARY_NAME='ST_SHAPELIB';

 

5)  Если запрос не выдал результата, либо в результате запроса путь, указанный в параметре FILE_SPEC не соответствует пути, заданном в конфигурационном файле СУБД Oracle EXTPROC.ORA, выполнить запрос для пересоздания библиотеки в БД:

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

или, если сервер работает под управлением ОС Linux или UNIX:

 CREATE or REPLACE LIBRARY ST_SHAPELIB AS ' /user/arcgis/libst_shapelib.so';

6)  Выполнить компиляцию схемы SDE:

 ALTER PACKAGE sde.st_geometry_shapelib_pkg COMPILE REUSE SETTINGS;

 EXEC dbms_utility.compile_schema( 'SDE' );

7)  Проверить корректность регистрации объектов, выполнив запрос:

 SELECT object_name FROM user_objects WHERE status = 'INVALID';

 

Объектов, имеющих статус 'INVALID', быть не должно. Тем более не должно быть статуса 'INVALID' у пользовательского типа данных St_Geometry.

 

8)  Проверить правильность подключения библиотеки ST_SHAPELIB к базе данных Oracle можно, выполнив простой запрос, использующих функции из этой библиотеки. Например:

SELECT

 SDE.ST_AsText( SDE.ST_GeomFromWKB

         ( SDE.ST_AsBinary( SDE.ST_GeomFromText

                 ( 'POINT(334895.21690000 2326812.63830000)', 3405)), 3405))

 as MYTEST FROM DUAL;

Запрос должен отработать без ошибок.

 

Если итоговые проверки говорят о том, что библиотека ST_SHAPELIB подключена к БД Oracle некорректно, следует повторить все шаги с самого начала, руководствуясь дополнительной документацией по размещению баз геоданных ArcGIS в Oracle.