配置st_shapelib.dll/st_geometry.dll(以ArcGIS10.5.1+Oracle12c R1爲例)

準備工作:

首先當然是找到st_shapelib.dll或st_geometry.dll文件,比如我本機的:

C:\Program Files (x86)\ArcGIS\Desktop10.5\DatabaseSupport\Oracle\Windows64

目錄下找到st_shapelib.dll文件。

其次,找到Oracle的服務端的安裝目錄,比如我我本機的:D:\Oracle\product\12.1.0\dbhome_1,找到BIN目錄。

 

親測了兩種方法,供大家參考:

法1:

1、拷貝st_shapelib.dll到D:\Oracle\product\12.1.0\dbhome_1\BIN目錄下

2、修改D:\Oracle\product\12.1.0\dbhome_1\hs\admin目錄下的extproc.ora文件,在最後一行加上圖上紅色框框部分的內容:

SET EXTPROC_DLLS=ONLY:D:\\Oracle\\product\12.1.0\\dbhome_1\\BIN\\st_shapelib.dll

特別說明:路徑要用雙斜槓!!!

3、重啓Oracle的監聽服務。

 

法2:

1、拷貝st_shapelib.dll到D:\Oracle\product\12.1.0\dbhome_1\BIN目錄下

2、修改D:\Oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN目錄下的listener.ora文件:在EXTPROC_DLLS中追加st_shapelib.dll的路徑(注意與其他dll的分隔符 分號;

 

 

3、重啓Oracle的監聽服務。

===============================================================================

以上兩種方法任選,完成上述操作後,繼續下一步操作:

4、打開PLSQ;執行SQL語句:

create or replace library ST_SHAPELIB as 'D:\Oracle\product\12.1.0\dbhome_1\BIN\st_shapelib.dll';
alter package sde.st_geometry_shapelib_pkg compile reuse settings;

執行完前後都可以通過SQL語句查看一下鍵值的內容:select * from user_libraries;

 

5、驗證:

select sde.st_astext(shape) from 表名 where 條件;

例如:select sde.st_astext(shape) from RES_BUD_PY_G_CLIP where objectid < 3;

 

OK,若你也看到上圖類似內容,恭喜你,大功告成!

 

 

相關函數列表可參考:http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/using-sql-with-gdbs/a-quick-tour-of-sql-functions-used-with-st-geometry.htm

 

寫在後面的話:st_geometry.dll文件不一定要拷貝到oracle服務端安裝目錄的bin目錄下,只要保證st_geometry.dll的存放目錄沒有空格,沒有括號等特殊字符即可。但是爲了方便管理和記錄,建議還是放在%ORACLE_HOME%/bin目錄下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章