2017-10-29 11 views
0

バイ・パブリッシャ・アドインをmsワードで使用しています... oracle apex 5.1でレポートを印刷しようとしたときにエラーが発生しました。 ORA-20001:いずれかの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

あなたは大歓迎です。 –