2017-10-29 20 views
0

ms 게시자 용 추가 기능 사용 ... oracle apex 5.1에서 보고서를 인쇄하려고 할 때 오류가 발생했습니다. ORA-20001 : URL 중 하나 때문에 인쇄 엔진에 연결할 수 없습니다 지정된 URL이 틀리거나 프록시 URL을 지정해야합니다. 나는 내가 보고서를 인쇄 다시 시도 후 다음과 같은 오류가 발생 실행 후 SYSDBA게시자 인쇄 오류

DECLARE 
    ACL_PATH VARCHAR2(4000); 
BEGIN 
    -- Look for the ACL currently assigned to '*' and give APEX_050100 
    -- the "connect" privilege if APEX_050100 does not have the privilege yet. 

    SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS 
    WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; 

    IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050100', 
    'connect') IS NULL THEN 
     DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
    'APEX_050100', TRUE, 'connect'); 
    END IF; 

EXCEPTION 
    -- When no ACL has been assigned to '*'. 
    WHEN NO_DATA_FOUND THEN 
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml', 
    'ACL that lets power users to connect to everywhere', 
    'APEX_050100', TRUE, 'connect'); 
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); 
END; 
/
COMMIT; 

DECLARE 
    ACL_PATH VARCHAR2(4000); 
BEGIN 
    -- Look for the ACL currently assigned to 'localhost' and give  APEX_050100 
    -- the "connect" privilege if APEX_040200 does not have the privilege yet. 
    SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS 
    WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; 

    IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050100', 
    'connect') IS NULL THEN 
     DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
    'APEX_050100', TRUE, 'connect'); 
    END IF; 

EXCEPTION 
    -- When no ACL has been assigned to 'localhost'. 
    WHEN NO_DATA_FOUND THEN 
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml', 
    'ACL that lets users to connect to localhost', 
    'APEX_050100', TRUE, 'connect'); 
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); 
END; 
/
COMMIT; 

로 연결 SQLPLUS 명령 행에서이 작업을 실행 시도 그래서 스택 오버 플로우에 여기에 몇 가지 해결책을 발견 :

Error occurred while painting error page: ORA-01403: no data found ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1324 ORA-12570: TNS:packet reader failure 

어떻게 해결할 수 있습니까?

답변

0

우선 ORA-20001은 사용자 정의 오류입니다.

첫 번째 블록 만 다시 정렬했습니다. 명령문의 순서가 변경되었습니다. select 진술 바로 뒤에 예외를 두십시오. 예외가 발생하면 DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE이 귀하의 경우 실행되지 않습니다.

DECLARE 
    ACL_PATH VARCHAR2(4000); 
BEGIN 
    -- Look for the ACL currently assigned to '*' and give APEX_050100 
    -- the "connect" privilege if APEX_050100 does not have the privilege yet. 
    BEGIN 
     SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL; 

    EXCEPTION 
     -- When no ACL has been assigned to '*'. 
      WHEN NO_DATA_FOUND THEN 
       DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml', 
      'ACL that lets power users to connect to everywhere', 
      'APEX_050100', TRUE, 'connect'); 
      DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); 
    END; 

    IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050100', 
    'connect') IS NULL THEN 
     DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
    'APEX_050100', TRUE, 'connect'); 
    END IF; 
END; 
/
COMMIT; 
+0

감사합니다. 감사합니다. – blank

+0

@ 블랭크 오신 것을 환영합니다. –