1. 程式人生 > >arcgis10.2 配置 Oracle11g extproc 使用 SQL 訪問地理資料庫的方法

arcgis10.2 配置 Oracle11g extproc 使用 SQL 訪問地理資料庫的方法

對於 Oracle 11g,Oracle 建議您通過更改 extproc.ora 檔案而不是配置監聽器來配置 EXTPROC。extproc.ora 檔案位於 ORACLE_HOME\hs\admin 目錄中。

將 ST_Geometry (st_shapelib) 和/或 ST_Raster 庫移動到您的 Oracle 伺服器上之後,更改 extproc.ora 檔案以指向庫的位置。

在 Windows 伺服器上,您可新增與以下類似的行:

SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.dll
SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\libst_raster_ora.dll

如果您使用兩個庫,可將它們放在一行上:

SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.dll;C:\\mylibraries\\libst_raster_ora.dll

在這些示例中,庫放置在名為 mylibraries 的資料夾中,此資料夾在 Oracle 伺服器上建立以儲存庫。

2、在PL/SQL中使用ST_shapelib函式。

本來以為按照步驟1的方法配置完成後,在PL/SQL中就能使用ST_shaplib裡的函數了,但在執行中發生錯誤。 錯誤程式碼為:ORA-28595:Extproc代理:dll路徑無效。
在PL/SQL中找到Libraries路徑,發現是有ST_SHAPELIB的,然後右擊→編輯(如下圖),他的路徑中有空格,於是,我把st_shapelib.dll檔案單獨複製出來,放到一個新目錄下。

修改為:
再次執行sql語句,能夠成功執行。

3.ST_SHAPELIB.dll檔案函式。

arcsde提供了多種空間函式操作,具體看arcgis的幫助: http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/006z0000003n000000/