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。

时间: 2024-08-05 00:58:11

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.直接重装,我这里是直接重装的oracle,装完之后,有一个图层还有这个问题,刚开始以为是这个图层中有一条异常数据,结果找了半天没有找到,最后替换了ST_Geometry的类库(部署ArcSDE10.2.1版本地理数据库和对应版本ST_Geometry).

ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry(个人改动版)

发了两天的时间来解决配置Oracle 监听器来使用SQL操作ST_Geometry的配置,网上搜索一大片,结果真正找到的只有方法可用,下面把这个方法我个人在总结下. ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry和其他版本的配置区别还是有很多不同的,不过不像网上说的配置那么复杂也不需要配置监听,下面我按照步骤说下配置方法: 一.配置user_libraries库 找到arcgsSde下面对应库的路径,例如我的路径是在D:\Program Files\ArcGI

怎么配置 Oracle 侦听器来使用SQL操作ST_Geometry

关于这个内容,其实从ArcSDE9.2推出ST_Geometry就让用户感到很有吸引力,而且特别是在ArcSDE9.3之后,用户使用SQL操作ST_geometry越来越多,但是在配置Oracle监听来说总是碰到这样那样的问题,以下就是总结一下配置 Oracle 侦听器来使用SQL操作ST_Geometry . 首先说明一下:如果你的ArcSDE版本是9.2最好不要使用这种方式,因为Bug也是比较多的. 例如:http://support.esri.com/en/knowledgebase/te

java.sql.SQLException: Field &#39;id&#39; doesn&#39;t have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法

1.错误原因 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增 2.解决办法 修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时) java.sql.SQLException: Field 'id' doesn't have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法 原文地址:https://www.cnblogs.com/zyt-bg/p/8385972.html

Spark SQL操作详细讲解

一. Spark SQL和SchemaRDD 关于Spark SQL的前生就不再多说了,我们只关注它的操作.但是,首先要搞明白一个问题,那就是究竟什么是SchemaRDD呢?从Spark的Scala API可以知道org.apache.spark.sql.SchemaRDD和class SchemaRDD extends RDD[Row] with SchemaRDDLike,我们可以看到类SchemaRDD继承自抽象类RDD.官方文档的定义是"An RDD of Row objects tha

第三课——SQL操作和数据类型

[SQL分类:DDL DML DCL] 一.DDL(数据库定义语言) 定义不同的数据段.数据库.表.列.索引等数据库对象,常用语句关键字:create drop alter等 1.修改表字段,alter table语句的用法如下 1)修改表字段的数据类型:alter table table_name modify- 2)新增表字段:alter table table_name add- 3)删除表字段:alter table table_name drop- 4)字段改名:alter table

常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; help show; 显示可用的数据库列表:show databases; 显示一个数据库内可用的表的列表:show tables; 显示表列:show columns from 一个表名; /describe 表名;  示例:show columns from customers;    desc

[转]SQL操作日期

--显示本月第一天 SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0) SELECT CONVERT(DATETIME,CONVERT(VARCHAR(8),GETDATE(),120)+'01',120) --显示本月最后一天 SELECT DATEADD(DAY,-1,CONVERT(DATETIME,CONVERT(VARCHAR(8),DATEADD(MONTH,1,GETDATE()),120)+'01',120)) SELECT DATEADD

phoenix——提供hbase的sql操作的框架

phoenix——提供hbase的sql操作的框架 2014年01月06日 ⁄ hadoop及周边, hbase ⁄ 共 364字 ⁄ 字号 小 中 大 ⁄ 1条评论 ⁄ 阅读 1,522 views 次 是什么? hbase提供了海量数据的毫秒级查询.可见,hbase是个非常好的实时查询框架,缺点就是查询功能非常薄弱,仅限于通过行键查询.今天看到一个框架phoenix(直译做凤凰),非常美丽的框架,他提供了HBase的sql访问功能,可以使用标准的JDBC API操作去创建表.插入记录.查询数