配置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 Files\ArcGIS\ArcSDE\ora11gexe\bin\st_shapelib.dll

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

 

復制到oracle的目錄下

D:\app\Administrator\product\11.2.0\dbhome_1\BIN

 

用sde用戶登錄plsql

 

執行sql

create or replace library ST_SHAPELIB  as 'D:\app\Administrator\product\11.2.0\dbhome_1\BIN\st_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還是在服務端調用,所以不用考慮為什么客戶端里配服務端本地路徑的問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM