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还是在服务端调用,所以不用考虑为什么客户端里配服务端本地路径的问题

  • 相关阅读:
    修改浏览器的UserAgent来伪装你的浏览器和操作系统
    探索并发编程(七)分布式环境中并发问题
    通信网络规划的最短路径(最小生成树的2种算法介绍)
    iOS 面向模型的 SQL存储
    一个有趣的天平秤球问题
    飞机加油问题的粗略探究
    粗谈设计模式
    JDK动态代理[2]JDK动态代理的底层实现之Proxy源码分析
    Java集合系列[2]LinkedList源码分析
    JDK动态代理[4]ProxyGenerator生成代理类的字节码文件解析
  • 原文地址:https://www.cnblogs.com/cannel/p/11799734.html
Copyright © 2011-2022 走看看