2016-06-29 4 views
1

私はApex 5で作業していますが、apexでbi publisherレポートを実行したいと考えています。 I>はインスタンスの管理に頂点 ホストアドレスのレポートの印刷インスタンスを作成した:私は「テストレポートクエリー」をクリックしたとき、それは私を示し /xmlpserver/ORA-20001:印刷エンジンに到達できませんでした。 BI Publisher 11.1.1.7を使用したOracle Apex 5

今作成したレポートのクエリを変換しますが: ポートはlocalhost:7001 プリントサーバーをエラー ORA-20001:指定されたURLが正しくないか、プロキシURLを指定する必要があるため、印刷エンジンに到達できませんでした。

私のBIコンポーネントが私を助けてください コンポーネントの構成

Oracle Enterprise Manager 
     http://naeemshahzad-PC:7001/em 
    Business Intelligence Enterprise Edition 
     naeemshahzad-PC:9704/analytics 
    Business Intelligence Publisher 
     naeemshahzad-PC:9704/xmlpserver 

ある設定します。

答えて

1

このエラーの理由:デフォルトでは、ネットワークサービスと相互作用する能力がOracle Database 12cで無効になっているため

ORA-20001: The printing engine could not be reached because either the URL specified is incorrect or a proxy URL needs to be specified. 

です。したがって、Oracle Database 12cOracle Application Express 5.0を実行している場合は、新しいDBMS_NETWORK_ACL_ADMINパッケージを使用して、APEX_050000データベースユーザーの任意のホストに接続特権を与える必要があります。

したがって、あなたがAPEX_050000

ソリューションに接続privilagesを付与する必要があります

接続のOracle Application ExpressはSYSSYSDBA役割を指定するとインストールされているデータベースへ。その実行後

DECLARE 
    ACL_PATH VARCHAR2(4000); 
BEGIN 
    -- Look for the ACL currently assigned to '*' and give APEX_050000 
    -- the "connect" privilege if APEX_050000 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_050000', 
    'connect') IS NULL THEN 
     DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
    'APEX_050000', 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_050000', TRUE, 'connect'); 
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*'); 
END; 
/
COMMIT; 

: ORA-44416:無効なACL

DECLARE 
    ACL_PATH VARCHAR2(4000); 
BEGIN 
    -- Look for the ACL currently assigned to 'localhost' and give APEX_050000 
    -- 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_050000', 
    'connect') IS NULL THEN 
     DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
    'APEX_050000', 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_050000', TRUE, 'connect'); 
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost'); 
END; 
/
COMMIT; 
+0

は私に行1でエラーが発生しますPLSQLを以下の実行後

を(SYSDBAユーザーとしてSYSがSQLPLUSに接続) :未解決のプリンシパル 'APEX_050000' ORA-06512:「SYS.DBMS_NETWORK_ACL_ADMIN」252行目 ORA-06512:行19 ORA-01403:データが見つかりません – Superdooperhero

関連する問題