oracle sde动态库配置

时间:2017-5-13    作者:悬浮的青春    分类: dbbase


配置ST_Geometry

 1.Oracle服务器必须安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x64);

 2.对于 Oracle 11g,Oracle 建议您通过更改 extproc.ora 文件而不是配置监听器来配置 EXTPROC。extproc.ora 文件位于 ORACLE_HOME\hs\admin 目录中。将 ST_Geometry (位于ArcGIS Desktop软件的机器中"C:\Program Files (x86)\ArcGIS\Desktop10.1\DatabaseSupport\Oracle\Windows64\st_shapelib.dll")库移动到您的 Oracle 服务器上之后,更改 extproc.ora 文件以指向库的位置。添加:“SET EXTPROC_DLLS=ONLY:C:\mylibraries\st_shapelib.dll”(不含双引号);库放置在名为 mylibraries 的文件夹中,此文件夹在 Oracle 服务器上创建以存储库。

 3.使用SDE用户登录,更新 st_shapelib 的 Oracle 库条目,可通过运行 CREATE OR REPLACE LIBRARY SQL 语句完成更新。“CREATE OR REPLACE LIBRARY st_shapelib AS 'c:\mylibraries\st_shapelib.dll'; ”。



以sde用户在PL/SQL的树中找到Libraries,修改ST_SHAPELIB的路径;

CREATE OR REPLACE LIBRARY st_shapelib  AS 'D:\app\product\11.2.0\dbhome_1\BIN\st_shapelib.dll'

5.以sys的用户登录赋予geodb一下权限
grant alter any type to user1;
grant create any indextype to user1;
grant create any type to user1;
grant drop any type to user1;
grant execute any type to user1;
grant insert any table to user1;
grant select any sequence to user1;
grant select any table to user1;
grant unlimited tablespace to user1;
grant update any table to user1;

重要。在plsql中用sys用户。执行grant execute on sys.dbms_crypto to sde;
重新编译bodytype。


用sql语句验证正确性,具体语句如下:

在user1用户下验证:
select *
  from table1
 where sde.st_intersects(shape,
 sde.st_geometry('POLYGON ((110.1 30.4,119.6 39.453972,110.70 30.90,120.1 39.9))',
                                         4326)) = 1





标签: arcgis二次开发 arcgis操作

WRITTEN BY

avatar