Installiere Oracle REST Data Services (ORDS) für Oracle APEX

View more categories:

1- Die Vorstellung

Das Dokument wird nach der Quelle von ... geschrieben
  • Oracle 11g, 12c

  • ORDS 3.x

2- Was ist Oracle REST Data Services ?

Oracle REST Data Services (ORDS) ist ein Ersatzdienstleistung zur Oracle HTTP server und  mod_plsql. Es basiert auf Java EE, bietet die Dienstleistung RESTful und erhöht die Geheimnislevel . Es kann auf   WebLogic, Tomcat, Glassfish oder allein durchführen

3- Die Interaktion zwischen Oracle ORDS und Oracle APEX

Normalerweise haben Sie 2 Optionen zur Installation von Oracle APEX.

Die Option 1: Die Konfiguration von   Embedded PL/SQL Gateway: Das ist die Maßnahme zur Konfiguration von  Oracle APEX, damit es  auf  Oracle XML DB HTTP Server laufen kann. Es ist ein bereites HTTP wenn Sie Oracle 11g oder die neure installieren.

Die Opti on 2: Die Installation von Oracle APEX auf einem bestimmten Web-Server wie  WebLogic, Tomcat oder  Glassfish,...
Der Pfad zum Arbeiten mit   Oracle APEX wie folgend
  • http://your-server:8080/apex
Die RESTful Dienstleistung zu benutzen, sollen Sie Oracle ORDS mehr installieren. Sie können auf Web Logic Server, Tomcat, Glassfish,.. oder allein laufen. Oracle ORDS kann direkt  Oracle APEX lesen und   Oracle HTTP Server ganz ersetzen. Deshalb können Sie die Restful Dienstleistung auf APEX benutzen und das neueste URL zum Arbeiten mit Oracle APEX benutzen
  • http://your-server:8080/ords

4- Download Oracle ORDS

Sie können Oracle ORDS bei ... herunterladen:
Das ist Ergebnis vom Herunterladen

5-  ORDS für APEX konfigurieren

CD nach dem Installationsverzeichnis  apex.
Melden Sie in sqlplus als sysdba an
Den Befehl durchführen um REST Service zu konfigurieren
-- Configuring REST Service.


@apex_rest_config.sql
Nachdem der oben Befehl erfolgreich durchgeführt wird, werden die 2 user APEX_LISTENER und  APEX_REST_PUBLIC_USER erstellt.
  1. APEX_LISTENER - das Konto zur Abfrage der RESTful Dienstleistungen, die im Oracle APEX archiviert werden
  2. APEX_REST_PUBLIC_USER - Das Konto wird benuzt bei der Aufruf von der Dienstleistungen, die im Oracle APEX archiviert werden

Network Services anschalten

Standardmäßig wird die Network Services in  Oracle 11g oder die neure Version ausgeschaltet. Deshalb sollen Sie die Package DBMS_NETWORK_ACL_ADMIN benutzen um die Genehmigung zur Zugang nach der Networksaddresse für den user database APEX_050000 zu geben
Sie sollen den user APEX in database abfragen (query)
Select Username from All_Users where username like 'APEX%';
Den Befehl starten um die Genehmigung zum Zugang nach den Networksaddresse für den user database APEX_050000 zu geben
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;
 

Die Verbindungsrecht für den user database APEX_050000 (Oracle 11g) zuweisen:

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;

Die Verbindungsrecht für den user database APEX_050000 (Oracle 12c) zuweisen:

Die Verfahren CREATE_ACL, ASSIGN_ACL, ADD_PRIVILEGE und CHECK_PRIVILEGE in die package DBMS_NETWORK_ACL_ADMIN sind veraltet im Oracle Database 12c. Oracle empfiel Sie APPEND_HOST_ACE zu benutzen
-- Sử dụng cho Oracle 12c.

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => '*',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'APEX_050000',
                           principal_type => xs_acl.ptype_db));
END;
/

6-  ORDS implementieren

Beachten Sie: Stellen Sie sicher, dass Sie die Java - Version 7 oder neuer installiert haben und die Umgebungsvariable PATH in dem Verzeichnis von Java melden. Sie können die Anleitung der Java-Installation bei ... 
Am Ende vom PATH den Pfad zum Verzeichnis bin vom  Java einfügen.
  • ;C:\DevPrograms\Java\jdk1.8.0_65\bin
Die heruntergeladete File ords-**.zip in einen Verzeichnis diskomprimieren
Sie können in dem Diskomprimierungsverzeichnis die File ords.war sehen
Den Verzeichnis images im  apex in dem Verzeichnis  ords kopieren
Jetzt installieren wir Oracle ORDS allein  (Auf  WebLogic, Tomcat oder einem Web Server nicht implementieren)
CD nach dem Verzeichnis  ords:
Zunächst melden Sie in  sqlplus als sysdba.
 
Ihr Oracle APEX läuft auf Oracle XML DB HTTP Server. Sie sollen es durch den Befehl ... ausschalten
--  Disable Oracle APEX on Oracle XML DB HTTP Server.

EXEC DBMS_XDB.SETHTTPPORT(0);


-- Note: You can enable it with command:

EXEC DBMS_XDB.SETHTTPPORT(8080)
sqlplus austreten. und CD nach dem Verzeichnis   ords:
Den Befehl durchführen
# Run command:

java -jar ords.war

# Or:

java -jar ords.war install
Die Addresse des Gerät, das Databasse enthaltet, eingeben ( localhost):
Die Port von Database (standardmäßig ist es 1521):
Service Name oder  SID von Database eingeben
Das Passwort für den user  database: ORDS_PUBLIC_USER eingeben
Sqlplus fordert die Eingabe der Information von  user database mit der Rechts von   sysdba. (  sys und danach   password eingeben ).
SQLPlus fragt danach, ob Sie Oracle APEX benutzen oder nicht. Wenn nicht, typen Sie 1 und enter:
Geben Sie das Passwort für den erstellten user  APEX_PUBLIC_USER:
Zunächst geben Sie 1 ein um das Password für 2 erstellten user database festzulegen ( APEX_LISTENER, APEX_REST_PUBLIC_USER).
Wählen Sie 1 um ORDS allein durchzuführen (Standalone).
Die Konfiguration von ORDS wird erfolgreich gemacht. Schließen Sie das Fenster CMD.

 ORDS laufen

Achtung: Sie können den folgenden Befehl um die Gebrauchsanweisung mehr zu lesen
java -jar ords.war help standalone
CD in dem Ordner   ORDS und den Befehl durchführen
java -jar ords.war standalone --port 8080 --apex-images C:/DevPrograms/ords/images
Zum ersten Mal fragt es nach der Postion von der Konfigurationsfile
ORDS wird erfolgreich durchgeführt
beachten Sie: Wenn Sie den folgenden Fehler erhalten
Öffnen Sie den Schlüssel für den user APEX_PUBLIC_USER.
Column username format a25;
Column account_status format a25;

-- Query unlocked APEX user.

select username,account_status from dba_users
 where lock_date is not null
 and username like 'APEX%';
Alter user APEX_PUBLIC_USER account unlock;
Die Konfigurationsfile wird nach der Durchführung von ORDS erstellt 
Schließen Sie bitte das oben Fenster nicht, Sie können APEX mit den neuen Pfad benutzen.

View more categories: