Настройка базы геоданных для доступа к пространственным данным внешних клиентов |
Данный пункт выполняется, когда база геоданных 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.
|