描述
Oracle中的模式(大约24个字符或更大)尝试使用st_geometry创建空间索引可能导致以下Oracle错误:
代码:
ORA-29902: error in executing ODCIIndexStart() routine
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "SDE.ST_DOMAIN_METHODS", line 125.
在通过ArcGIS创建空间索引时,错误也可能出现在sde_ <service> .log中,并且启用了详细信息。
例如,名为FACILITIES_MANAGEMENT_DEPT(拥有数据的用户名)的模式在创建st_geometry空间索引时遇到上述错误消息。
已创建索引,但在显示,查询和标识功能时问题会导致问题。
原因
在sde.st_domain_methods包中,ODCIIndexStart函数具有一个定义为32个字符的变量字符串,该字符串不足以支持超过24个字符的模式名称和空间索引的名称。
解决方法
使用具有较少字符的模式名称或查询没有空间索引的数据(由于每个空间查询都会导致完整的表扫描,因此会遇到大表的性能问题)。