热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有oracle10g,但没有安装arcgis,又想使用空间数据库的解决方案

我在一台虚拟机中部署系统进行测试,配置如下:OS:WIN2008R2SP1X64DB:oracle12c结果系统报错,查找原

我在一台虚拟机中部署系统进行测试,配置如下:
OS:WIN2008 R2 SP1 X64
DB: oracle 12c
结果系统报错,查找原因,原来是oracle里还不支持arcgis的一些所谓的空间数据库。想想也是,虚拟机里没装arcgis,当然不支持了。

{"ORA-28595: Extproc 代理: DLL 路径无效\nORA-06512: 在 \"SDE.ST_GEOMETRY_SHAPELIB_PKG\", line 70\nORA-06512: 在 \"SDE.ST_GEOMETRY_OPERATORS\", line 68\n"}

但是,难道我真的要装个arcgis吗?那么庞大的一个东西,能不能装成功还不知道呢!

在网上寻寻觅觅,基本都是说改那个所谓listener.ora文件,指向arcgis的dll。我先从开发服务器上拷了一份arcgis的bin到虚拟机,开发服务器上的系统一直运行良好,DB是oracle 10g。到了虚拟机以后,不行;怀疑是acgis的版本不支持oracle 12c,于是又拷了一份支持12c的arcgis的bin,也不成功!

结果从17点搞到21点,我眼冒金星,都快晕倒了!这个系统是部署来下周演示的,清明节不想加班,时间不多了;况且还有另外一个项目的文档要写。项目经理是招我进来的恩公,可不能辜负人家。我感到腹背受敌!

第二天,我冷静了下来。在宿主机的oracle 10g上试了一下,结果OK了。可能oracle 12c的做法并不是修改listener.ora,因为其他项目组有台服务器同时装了12c 和 arcgis的服务器上,我看它的listener.ora,并没有改动,但确实是可以支持SDE的。时间紧迫,只能以后再去寻找答案了。

记录一下有oracle 10g,但没有安装arcgis,又想使用空间数据库的解决方案:

1、将arcgis的bin拷贝到目标机器,如
C:\ArcGIS\Desktop10.0\Bin

2、修改listener.ora,如
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora

(SID_DESC =(PROGRAM = EXTPROC)(ENV = "EXTPROC_DLLS=C:\ArcGIS\Desktop10.0\Bin\st_shapelib.dll")(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1))

3、重启oracle的监听程序(仅重启监听程序就可以了)

如此,OK矣。你可以用sde账号登录oracle,运行

select sde.ST_AsText(SDE.ST_Geometry('POINT (10 10)', 0)) from dual;

可得正确结果。


2020.05.15
对于 Oracle12C而言,没有这么复杂。只需要:
1)将st_shapelib.dll拷贝到%ORCLE_HOME%\bin\下
2)然后确保sde中,libraries中的ST_SHAPELIB指向了正确的地址
在这里插入图片描述
有时候,利用arcgis软件,直接连接Oracle建SDE库,可能这里面的DLL路径就不一定正确。


2020.11.25
注意st_shapelib.dll最好遵从默认拷贝到%ORCLE_HOME%\bin\下,否则会报“ORA-28595: Extproc 代理: DLL 路径无效”错误。

网上也有许多教程说要改什么 listener.ora 和 extproc.ora,要我说,这可能暂时解决了当前的问题,但由于修改了系统的默认配置,以后引发其他异常也说不定。遵从默认就好,修改那么多配置,好像系统默认的就不合理一样。

另外,这个st_shapelib.dll,oracle安装完毕之后默认就是指向了%ORCLE_HOME%\bin\st_shapelib.dll,但是这个时候根本不存在这个dll,整个oracle安装目录都找不到这个dll。需要我们从arcgis安装目录中拷贝过来,或者到arcgis官网下载。这也说明,oracle其实并不天然支持arcgis的空间数据,要靠arcgis自己去扩展。

说到这里,我想起导数据(import)。属性数据一切正常,但导到SDE库就不行了,一堆报错,数据是进去了,但没法使用。我看公司的一些文档,说设置各项权限。现在看来,我怀疑是dll的问题。我猜测应该是这样:
1、创建SDE表空间
2、设置SDE的libraries,正确指向st_shapelib.dll
3、导入从其他库中导出的、包含SDE的数据包


推荐阅读
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
author-avatar
mobiledu2502878157
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有