SDE函数包中包含大量的空间计算分析函数,是我们做空间相关分析的一把利刃(目前好像我们只有这一把),有关SDE函数的使用,请见我空间另外的一篇帖子的附件.
按照通常教程,过程是这样的
1.找到listener.ora
2.找到SID_LIST_LISTENER
3.在(PROGRAM = extproc)下一行添加
(ENVS="EXTPROC_DLLS=
F:\ArcGIServer\ArcSDE\ArcSDE\ora10gexe\bin\st_shapelib.dll"),路径请自己改.
4.重启监听服务
但是会遇到失败的情况,我只遇到两种:
1.监听服务无法启动
2.监听服务启动成功,但是SDE函数还是无法链接外部PRC
3.在linux和unix中,监听服务启动成功,但是SDE函数还是无法链接外部PRC
针对以上情况:
1.添加的EXTPROC_DLLS一定在(PROGRAM = extproc)的下一行,也就是一个回车后,最好用记事本编辑,先关闭实例服务,重启监听服务才会成功,另外,st_shapelib.dll的路径中如果包含中文,有待其他同学去尝试.
2.这说明添加的EXTPROC_DLLS没有起作用,由于我用的是WIN7,所以我又复查了一边,发现一个问题:
win7安装的oracle10g,
listener.ora中的
LISTENER块,对应IPC协议的
key=EXTPROC0;
tnsnames.ora中的
EXTPROC_CONNECTION_DATA,
key=EXTPROC1
把这两个key统一,我是把,
listener.ora中的
LISTENER,
key改为EXTPROC1.重启监听服务及实例服务即可,一定要重启实例服务,否则你的tns都会坏掉.
3.还需要在SDE用户下执行如下SQL,但是windows平台是不用的,有可能是SDE POST的时候做好了,请高人指点:
CREATE OR REPLACE LIBRARY st_shapelib AS '<full_path>\st_shapelib.dll'
至此问题解决了,希望其他同学积极补充.
分享到:
相关推荐
文档的部分内容展示了在.NET环境中使用C#和VB.NET调用SDE C API的具体方法,包括使用DllImport属性引用sde.dll库中的函数、定义SE_ERROR结构体以及调用SE_connection_create和SE_connection_free函数的示例代码。...
它支持多种数据库管理系统 (DBMS),如 Oracle、Microsoft SQL Server 和 PostgreSQL 等。 - **ArcSDE** 的主要功能包括: - 数据存储:支持矢量和栅格数据,以及关系型数据库中的属性数据。 - 数据管理:提供高级...
此外,还可以利用Oracle提供的DBMS_UTILITY包来处理空对象。例如,可以编写一个SQL查询来统计无效对象的数量: ```sql SELECT COUNT(*) FROM user_objects WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'TRIGGER...
15. **ArcSDE for Oracle** - ArcSDE是Esri提供的用于连接Geodatabase和关系数据库的技术。这部分内容介绍了一些基本的SQL查询语句,用于获取Oracle Geodatabase的版本信息。 16. **创建空间类型** - 在...
从ArcGIS 9.3版本开始,ArcSDE Geodatabase在Oracle环境下默认使用ST_Geometry来存储空间数据。 ST_Geometry的数据类型允许用户通过标准的SQL语句直接存储、检索和操纵空间数据,无需使用专业的GIS软件。这意味着,...