描述
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個字符的模式名稱和空間索引的名稱。
解決方法
使用具有較少字符的模式名稱或查詢沒有空間索引的數據(由於每個空間查詢都會導致完整的表掃描,因此會遇到大表的性能問題)。