ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误
ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误
1、测试环境说明
ArcSDE版本:10.2.2
Oracle版本:12.1.0.1和11.2.0.1
Windows版本:Windows Server 2008 R2
测试数据:中国400W省界面数据
2、SQL操作ST_Geometry测试
测试语句非常简单,只是简单的查询图层中的几何坐标点信息,执行SQL语句如下:
select st_astext(shape) from china;
select st_astext(shape) from china where objected<4;
在两个不同版本的Oracle数据库上测试上述语句时,执行的错误分别如下:


其他测试结果如下:
select st_astext(shape) from china where objectid=1;
objected=1对应的是黑龙江省行政边界,执行第一次报ORA-28579,之后再执行正常。
select st_astext(shape) from china where objectid=33;
objected=33对应的是香港行政边界,执行正常。
3、原因分析
当查询数据中点坐标数太多时会报错,像查询黑龙江、全要素等。
4、替代方案
上述测试语句在ArcSDE10.2.1版本中未发现,可使用如下的两种替代方案解决报错的问题:
(1)将ST_Geometry部署的库文件替换成10.2.1版本,地理数据库仍然使用10.2.2版本。
(2)部署ArcSDE10.2.1版本地理数据库和对应版本ST_Geometry。
ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579或ORA-20006错误的更多相关文章
- ArcSDE10.2.2使用SQL操作ST_Geometry时报ORA-28579
给esri中国的客服打电话被告知,是一直存在这个bug,arcgis10.2对应的oracle数据库版本要用11.2.0.3及以上的: 1.数据库升级可以用打补丁的当方式. 2.直接重装,我这里是直接 ...
- ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry(个人改动版)
发了两天的时间来解决配置Oracle 监听器来使用SQL操作ST_Geometry的配置,网上搜索一大片,结果真正找到的只有方法可用,下面把这个方法我个人在总结下. ArcSDE10.1配置Oracl ...
- 怎么配置 Oracle 侦听器来使用SQL操作ST_Geometry
关于这个内容,其实从ArcSDE9.2推出ST_Geometry就让用户感到很有吸引力,而且特别是在ArcSDE9.3之后,用户使用SQL操作ST_geometry越来越多,但是在配置Oracle监听 ...
- 配置 Oracle 11g侦听器来使用SQL操作ST_Geometry(DLL路径问题)
注:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/00qn0000001p000000/ (ArcGIS 帮助库) 1 ...
- 使用ArcSDE SQL操作怎么获得新对象的objectid、GUID
arcgis9.3.1 现在大家很喜欢使用ArcSDE的SQL操作,这种方式在特殊的环境要求下显得比较方便,那么使用SQL操作最多的是读和写,而写最多的就是新建一个对象,那么翻译成SQL语言就是使用i ...
- 数据库优化和SQL操作的相关题目
SQL操作 1.有一个数据库表peope,表有字段name,age,address三个属性(注:没有主键).现在如果表中有重复的数据,请删去重复只留下其中的一条.重复的定义就是两条记录的name,ag ...
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...
- mongodb 操作语句与sql操作语句对比
上行:SQL 操作语句 下行:Mongo 操作语句 CREATE TABLE USERS (a Number, b Number) db.createCollection("mycoll&q ...
- 避免循环做SQL操作
经常犯的错误是把一个SQL 操作放置到一个循环中, 这就导致频繁的访问数据库,更重要的是, 这会直接导致脚本的性能低下.以下的例子, 你能够把一个循环操作重置为一个单一的SQL语句. foreach ...
随机推荐
- day0202 (%s)
#格式化输出# % s d# name = input('请输入姓名')# age = input('请输入年龄')# height = input('请输入身高')# msg = "我叫% ...
- python学习,day3:示例,进度条
# coding=utf-8 # Author: RyAn Bi import sys,time for i in range(50): sys.stdout.write("#") ...
- node.js修改全局安装文件路径
在进行 node.js 的开发过程中,我们需要下载大量的依赖模块,为了不让 c 盘的东西太过于散乱,可以通过修改node的配置参数,来修改node依赖的下载路径. 步骤: ①创建两个文件夹:node_ ...
- 配置mybatis解决log4j未正常打印sql的问题
在mybatis-config.xml中增加配置: <settings> <setting name="logImpl" value="STDOUT_L ...
- ubuntu 16.04 tensorboard 学习
一.新建tensorboard的文件夹,并在该文件夹下打开终端进入python输入以下代码 ////////新建文件夹取名tensorboard 在该目录下打开终端 import tensorflow ...
- 彻底解决matplotlib中文乱码问题(转)
彻底解决matplotlib中文乱码问题 1.环境查看a.系统版本查看[hadoop@p168 ~]$ cat /etc/redhat-releaseCentOS Linux release 7.2. ...
- hibernate抓取问题
当使用xml配置类之间的关系时 ,例如 学生 班级,多对一关系 /** * 默认情况会发出2条SQL语句,一条取student,一条取Classroom,其实这只需要一条sql ...
- 实现JS继承的几种方法
总的来说,JS的继承大体上分为两种:借用构造函数方式和原型方式 首先,我们来看看借用构造函数方式的几种做法: //方式一function Person(name, sex){ this.name = ...
- oracle系统包——dbms_transaction用法
用于在过程,函数和包中执行sql事务处理语句. 1.read_only用于开始只读事务,其作用与sql语句set transaction read only完全相同2.read_write用于开始读写 ...
- SQL索引器
1.什么是SQL索引器 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 例如这样一个查询:se ...