2016-10-20 1 views
0

oracle Sql 개발자 클라이언트 편집기에서 공간 네트워크를 만들려고했습니다. 이 코드를 사용해 보았을 때 "True"결과가 나타났습니다.Oracle "sdo_net_mem.network_manager.shortest_path"코드가 작동하지 않습니다.

SELECT SDO_NET.NETWORK_EXISTS('network_name') FROM DUAL; 

이는 SDO_NET 명령이 올바르게 작동하고 있음을 의미합니다.

하지만이 코드를 사용해 보았을 때;

DECLARE 
    cost NUMBER; 
    path_id NUMBER; 
    res_numeric NUMBER; 
BEGIN 
    path_id := sdo_net_mem.network_manager.shortest_path('network_name',source_node_id, dest_node_id); 
    cost := SDO_NET_MEM.PATH.GET_COST('network_name', path_id); 
    DBMS_OUTPUT.PUT_LINE('The ID of the shortest path from X to Y is: ' || path_id || ' and it costs ' || cost); 
END; 

나에게 그 결과를 알려 줬어; 나는이 문제를 해결하려면 어떻게

enter image description here

; 감사.

답변

1

네트워크를 먼저로드 했습니까? SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK() 프로 시저를 사용하면됩니다. 귀하의 경우 :

SDO_NET_MEM.NETWORK_MANAGER.READ_NETWORK('network_name', 'TRUE'); 

SDO_NET_MEM 패키지는 12c에서 더 이상 사용되지 않으며 더 이상 사용되지 않아야합니다.

+0

불행히도 .. 아무것도 변경되지 않았습니다. –

+0

오라클에 공간 네트워크를 만드는 다른 방법이 있습니까? –

0

네트워크

select SDO_NET.VALIDATE_NETWORK('network_name') from dual;

오라클 버전이 무엇인가를 확인하려면이 절차를 실행 해보십시오?

일반적으로 네트워크 방법을 실행하기 전에 읽기 네트워크를 실행합니다.