zoukankan      html  css  js  c++  java
  • 配置sde使可以使用sde sql(ST_Geometry)操作空间数据

    用处:进行此配置后,可以用sql语言,与sde空间数据库进行空间查询,增删改图层的要素等

    PS:同时也是解决 ORA-28595Extproc 代理 DLL 路径无效 的方法

    ORA-06512: 在 "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 70

     ORA-06512: 在 "SDE.ST_GEOMETRY_OPERATORS", line 68

    注意:当arcgis版本为10.4(以上也可能是,具体看官网文档)时,需要安装vc++ 2013 64位运行环境,依据为esri官方文档

     

    在SDE的安装目录找到如下文件:C:Program FilesArcGISArcSDEora11gexeinst_shapelib.dll

    PS:arcgis 10.3或更新版本,没有了sde产品的安装包(也就没sde安装目录),那st_shapelib.dll可以在arcgis desktop或arcgis server的安装目录下找到(具体文件所在位置自行搜索)

    复制到oracle的目录下

    D:appAdministratorproduct11.2.0dbhome_1BIN

    用sde用户登录plsql

    执行sql

    create or replace library ST_SHAPELIB  as 'D:appAdministratorproduct11.2.0dbhome_1BINst_shapelib.dll';

    其中dll的文件路径要改一下,改成上一步复制后的文件路径

    再执行

    alter package sde.st_geometry_shapelib_pkg compile reuse settings; 

    用SDE用户登录plsql,能看到如下两个对象则说明成功

     

      

    PS:有时执行完上述两句sql后,图标有个红色X

      

    此时只要recompile就行

     


    以下开始补充在linux 服务端的配置:

    某次项目的情况,sde(oracle版)服务端是linux系统,其他环境为:arcgis 10.7,oracle12c R2

    Linux与win的不同在于拷st_shapelib文件的位置不同,其他还是参考win版的方法

    st_shapelib文件在arcmap 10.7的位置(只有64位,不用考虑位数问题了)

    libst_shapelib.so相当于win版的st_shapelib.dll文件,然后其他操作都是一样的

     

    PS:我们用于配置的plsql可以在客户端(跟服务端不是一台机器),但是libst_shapelib.so文件路径依然是服务端的本地路径,因为调用libst_shapelib.so还是在服务端调用,所以不用考虑为什么客户端里配服务端本地路径的问题

  • 相关阅读:
    Busybox制作ARM(iTOP4412) 根文件系统
    01.高并发底层原理
    设计模式
    高并发实战
    # 记一次shell编写
    shell if条件语句
    scrapy使用
    整理JAVA知识点--基础篇,能力有限不足地方请大神们帮忙完善下
    mybatis-generator使用
    优先级队列实现
  • 原文地址:https://www.cnblogs.com/cannel/p/11799734.html
Copyright © 2011-2022 走看看