ORA-29902: error in executing ODCIIndexStart() routine when creating spatial index with st_geometry

描述
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個字符的模式名稱和空間索引的名稱。

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章