这些对ST_Geometry类型数据进行操作的函数是用PL/SQL实现的,在PL/SQL中其实是转调的使用c语言编写的外部扩展库(ST_SHAPELIB)。
如果在64位的系统上安装了32位的oralce10g,配置ST_Geometry后,在重启oracle服务的时候,我们发现oracle监听启动后会自动停止。是什么原因呢?有什么办法可以解决这个问题呢?
在安装ArcSDE时,路径是放在X86目录下,问题就出于此,我们需要将安装目录下的相关东西拷到合适的位置,具体操作如下:
1.将C:\\Program Files (x86)\\ArcGIS\\ArcSDE\\ora10gexe\\bin\\st_shapelib.dll 拷贝至
C:\\Program Files\\ArcGIS\\ArcSDE\\ora10gexe\\bin\\st_shapelib.dll
2.修改库路径 create
or
replace
library
st_shapelib
as
'C:\\Program
Files\\ArcGIS\\ArcSDE\\ora10gexe\\bin\\st_shapelib.dll';
3.查看库路径
select * from user_libraries;
------------------------------------------------------------------------ 4.listener.ora
添加(ENVS=\"EXTPROC_DLLS=ANY\")
-------------------------------------------------------------------------- SID_LIST_LISTENER = (SID_LIST = (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\\oracle\\product\\10.2.0\\db_1) (PROGRAM = extproc) (ENVS=\"EXTPROC_DLLS=ANY\") ) ) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = dxth4.bjdxth.com)(PORT = 1521)) ) )
-----------------------------------------------------------------------------
5.tnsnames.ora
添加(ADDRESS = (PROTOCOL = TCP)(HOST = dxth4.bjdxth.com)(PORT = 1521))
------------------------------------------------------------------------------- EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = dxth4.bjdxth.com)(PORT = 1521)) )
(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
--------------------------------------------------------------------------------- 6.listener.ora中的KEY值要和tnsnames.ora中的KEY一致 7.
lsnrctl stop
lsnrctl start
因篇幅问题不能全部显示,请点此查看更多更全内容