Я пытаюсь использовать пространственную функцию MD.HHENCODE (или MDSYS.HHENCODE) в Oracle Spatial 12C. Я не могу получить функцию для компиляции на основе единственных документов, которые я мог найти. Вот мой код функции:Oracle Spatial 12C MD.HHENCODE для geohash не работает
CREATE OR REPLACE FUNCTION linear_key ( p_shape in mdsys.sdo_geometry,
p_diminfo in mdsys.sdo_dim_array , v_lvl number)
RETURN RAW DETERMINISTIC
IS
v_ctr MDSYS.SDO_GEOMETRY;
rval RAW(200);
BEGIN
v_ctr := MDSYS.SDO_GEOM.SDO_CENTROID(p_shape,p_diminfo);
select MDSYS.HHENCODE(v_ctr.sdo_point.x, p_diminfo(1).sdo_lb, p_diminfo(1).sdo_ub, v_lvl,
v_ctr.sdo_point.y, p_diminfo(2).sdo_lb, p_diminfo(2).sdo_ub, v_lvl)
into rval from dual;
return rval;
END;
Я получаю ошибки компиляции - ORA 00904, MDSYS.HHENCODE неверный идентификатор. В некоторых примерах я видел использование MD.HHENCODE, и я получаю ту же ошибку независимо. Я также читал, что должен включить пакет, но я не могу понять, как это сделать. Я потратил целый день, пожалуйста, помогите. Спасибо
У вас на самом деле установлена пространственная опция? Вы можете увидеть пакет MDSYS.MD и/или функцию MDSYS.HHENCODE в словаре данных? Если вы предоставили привилегии пользователю, который вы пытаетесь скомпилировать это как - и предоставляли напрямую, а не через роль? (Почему заголовок и первая строка относятся к CCENCODE?) –
спасибо @AlexPoole space определенно установлен. Что касается предоставления, я не знаю, но спасибо, что вызвал это. CCENCODE ссылается, потому что это была точка входа в эту проблему (которая может быть плохой меткой на данном этапе) – markg