Datenbankdesign und -modelierung mit dem JDeveloper - DESY

Werbung
Datenbankdesign und -modelierung mit dem JDeveloper
Definieren einer DB Verbindung (JDBC)
Um eine neue Datenbankverbindung zu definieren nutzt man entweder direkt den
Connections Navigator, indem man auf dem Ordner Database mit der linken Maustaste New
Database Connection… auswählt, oder man lässt sich beim Anlegen einer neuen Datenbank
oder beim Import einer bestehenden Datenbank von Wizards leiten.
Will man im Applications Navigator z.B. ein neues Datenbankobjekt anlegen, so wird man
vom JDeveloper erst einmal in den Database Connection Wizard geleitet.
In beiden Fällen wechselt man direkt hinüber zum Database Connection Wizard.
1
Nach Weiter befindet man sich schon im 1.Schritt zur Definition einer Datenbankverbindung.
Hier kann dann der Verbindungsname und Typ angegeben werden. Standard im
Verbindungsaufbau ist die JDBC.
Nach Weiter befindet man sich im 2.Schritt, wo die Datenbankzugangsdaten angegeben
werden müssen.
2
Diese Daten sollten bekannt sein, ansonsten wenden Sie sich bitte an Ihren Datenbankadministrator. Dies betrifft im übrigen auch den nächsten Schritt, in welchem die Details des
Datenbankverbindungsaufbaus angegeben werden müssen.
Diese Daten können, wenn sie nicht bekannt sind, auch über die Enterprise Manager
Console von Oracle ermittelt werden.
Im 4. und letzten Schritt kann ein Verbindungstest durchgeführt werden.
3
Sollte der Verbindungsaufbau nicht erfolgreich gewesen sein, so sollten die Daten noch
einmal überprüft werden oder der Datenbankadministrator herangezogen werden.
Anmerkung:
Anstelle der Host, Port und Service Information kann die JDBC-URL angegeben werden.
Die JDBC URL hat zu lauten:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbsrv01.desy.de
)(PORT=1521))(ADDRESS=(PROTOCOL = TCP)(HOST = dbsrv02.desy.de)(PORT =
1521))(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv03.desy.de)(PORT =
1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME
= desy_db.desy.de)(FAILOVER_MODE =(TYPE = NONE)(METHOD = BASIC)(RETRIES =
180)(DELAY = 5))))
Durch die Verwendung der URL können mehrere Hosts angegeben werden, hier
dbsrv01.desy.de, dbserv02.desy.de und dbserv03.desy.de. Dies ist vor allem dann von Vorteil,
wenn einmal ein Service nicht zur Verfügung steht.
Die Host, Port und Service-Name Informationen sind dann nicht mehr von Bedeutung, sie
werden durch die URL abgedeckt.
4
Datenbankdesign
Allgemein
Design einer Datenbank über den Connection Navigator
Eine neue Datenbank kann direkt online auf dem Server oder offline erstellt werden.
Bei der Online-Variante werden die neuen Tabellen, Columns, Indizes etc. direkt erstellt, was
nur im Connection-Navigator möglich ist.
Um online zu arbeiten, muß eine Database Connection (JDBC) erstellt werden, welche die
Datenbankverbindung aufbaut und verwaltet. (siehe oben)
Diese Verbindung kann dann in ihren Details im Connection Navigator unter Database
eingesehen und gegebenenfalls bearbeitet werden.
Hier können neue Tabellen, Trigger, Stored Procedures, Functions etc. angelegt werden, im
eingeschränkten Masse verändert oder auch gelöscht werden.
Jedes dieser Datenbankobjekte wird dann anhand eines Wizards direkt erstellt, was bedeutet,
dass man z.B. nicht mehreren Tabellen gleichzeitig designen kann. Somit werden bestimmte
Abhängigkeiten nachträglich gesetzt werden müssen, was aber keine Einschränkung darstellt.
Mit einem rechten Mausklick auf dem entsprechenden Folder kann dann ein neues Objekt
erzeugt werden. Um eine neue Tabelle anzulegen, wird dann aus dem Popup new Table
ausgewählt und schon befindet man sich im Create Table Wizard.
5
Im 1.Schritt werden die Grunddaten der neuen Tabelle angegeben.
Das Schema kann ausgewählt werden, die Datenbank ermittelt die zur Verfügung stehenden
Schemen der Datenbank.
Default ist das Schema unter welchem die Datenbankverbindung definiert wurde. (Ausserhalb
einer Datenbankverbindung können keine Datenbankobjekte angelegt werden.)
6
Im 2.Schritt können nun die Tabellenspalten definiert werden.
Mit der Definition der Tabellenspalten ist das Grundgerüst einer Tabelle erstellt, von nun an
kann die Tabelle mit Fertig stellen erstellt werden.
Alle Schritte, auf die jetzt verzichtet wird, können nachdefiniert werden!
Hinweis: Im Connection Navigator können angelegte Tabellen nicht beliebig verändert
werden. Im Connection Navigator ist nur die Definitionserweiterung einer Tabelle
erlaubt. Es können neue Columns definiert, auch ein Primary Key
definiert werden, sofern sie zuvor noch nicht definiert waren. Ein „falscher“ Primary
Key oder Index kann hingegen nicht gelöscht oder geändert werden.
7
Im 3. Schritt wird der Primary-Key definiert:
Durch die Pfeile und Doppelpfeile kann man die gewünschten Columns zum definierten
Primary-Key machen. Die Selected Columns bilden den Primary Key.
Im 4.Schritt werden Eindeutigkeiten festgelegt. Das Handling ist identisch zu dem bei den
Primary Keys.
8
Im 5.Schritt können die Fremdschlüssel definiert werden:
In weiteren Schritten können:
Schritt 6: Check Constraints,
Schritt 7: Indexes und
Schritt 8: Storage Options definiert werden.
Übergeht man diese Schritte einfach durch das Weiter-klicken, so bekommt man am Ende
das Create-Statement angezeigt, welches dann automatisch auf die Datenbank appliziert wird,
wenn man Fertig stellen auslöst. Drückt man direkt Fertig stellen, so wird dieses Statement
nicht mehr angezeigt, sondern die Tabelle einfach angelegt! Das Durchlaufen des Wizards hat
somit den Vorteil das Create-Statement noch sichern zu können. Allerdings kann man sich
jederzeit das Create-Statement auch an anderer Stelle erzeugen lassen.
Anbei noch mal den finalen Schritt des Wizards.
9
Mit Fertig stellen wird die Tabelle direkt in der Datenbank erstellt. Im Connection Navigator
kann man sich die neue Tabelle in der Definition der Datenbankverbindung unter dem Folder
Table anzeigen lassen.
Mit einem Doppelklick auf den Tabellennamen, wird im Editor Window ein neuer Tab
aufgebaut. Dieser neue Tab ist in 2 Seiten aufgeteilt in welchem zum einen die Strukturdaten
der Tabelle und zum anderen die gespeicherten Daten eingesehen werden können.
Die Strukturdaten können in dieser Ansicht nicht manipuliert werden.
Die Daten-Seite kann man nicht nur zum Ansehen der gespeicherten Daten benutzen, sondern
auch zum Anlegen und Manipulieren von Daten.
10
Neue Zeilen oder Zeilen in denen ein Wert geändert wurde, werden mit einem * markiert.
Hinweis: Beim Ändern von Spaltenwerten wird der * nur angezeigt, wenn man den Fokus auf
eine andere Zeile lenkt.
Im Data Editor im Log-Window wird das applizierte Datenbankstatement bzw. der
ausgeführte Befehl dann angezeigt.
Design der Datenbank über den Applications Navigator
Im Applications Navigator ist der Ablauf zum Entwickeln der Datenbanktabellen ähnlich.
Die Datenbank gehört zu den Sourcen einer Application somit ist sie dem Model-Layer
zugehörig.
Hat man noch keine Datenbankverbindung erstellt, so wird man beim Versuch neue Tabellen
anzulegen von der New Gallery dazu aufgefordert. Möchte man selbst diesen Weg zuerst
beschreiten, so wählt man mit der linken Maustaste auf der Applikation New aus.
In der New Gallery kann man entweder über den Database Tier → Database Connection
das Anlegen einer JDBC Source antriggern, oder über General → Connections → Database
Connection. In beiden Fällen wird der Database Connection Wizard gestartet (siehe oben).
Die JDBC-Source ist im Applications Navigator nicht sichtbar, sie ist auch keinem Projekt
zugeordet, so gehören die Connections zu den Generals, sie können ausserhalb von Projekten
angelegt werden.
Um jetzt eine neue Tabelle anlegen zu können, wechselt man in das Model-Projekt. Mit dem
rechten Mausklick auf dem Model-Folder und der Selektion von New wird die New Gallery
geöffnet. In der Filter By Drop Down List Box muss All Technologies ausgewählt werden.
Unter den Categories ist nun Database Tier → Offline Database Objects auszuwählen.
Unter den Items kann nun Table ausgewählt werden. Sollen die neuen Tabellen gleich einem
Schema zugeordnet werden, so muss zunächst ein neues Schema erstellt werden. Wird kein
Schema erstellt, so gibt es das Default Schema MYSCHEMA.
11
Mit OK wird man direkt in den Create Offline Table Wizard weitergeleitet.
Der Wizard unterscheidet sich vom Create Table Wizard eigentlich nicht, ausser darin, dass
die generierte Tabelle nicht auf der Datenbank appliziert wird.
Erstellt man hier eine Tabelle, so kann man im Applications Navigator sehen, dass ein
Unterverzeichnis Offline Database Sources angelegt wurde und Model nun kursiv erscheint.
Hinweis: Bei noch nicht gespeicherten Objekten wird die Veränderung im Trägerobjekt durch
eine kursive Darstellung angezeigt. Wenn man seine Änderungen jetzt speichert, wird Model
wieder richtig angezeigt.
Im Verzeichnis Offline Database gibt es jetzt ein Unterverzeichnis für das Schema, im
Defaultfall MYSCHEMA. Im Schema befindet sich nun die angelegte Tabelle.
Die neu angelegte Tabelle ist im Connections Navigator noch nicht sichtbar, da es sich noch
um ein Offline Database Objekt handelt.
Unser Schema besteht nun aus Tabellen auf dem Server und aus lokalen offline DB Objekten.
Um diese separat entwickelten Teilauszüge des Datenmodells zusammenzubringen wird nun
ein Import der Database Objekte in das offline Schema durchgeführt.
Mit einem rechten Mausklick auf das Schema-Verzeichnis geht ein Popup-Menue auf, aus
welchem Import Database Objects auszuwählen ist.
Jetzt wird der Wizard für den Import der Datenbankobjekte aufgerufen:
12
Im 1.Schritt wird die definierte JDBC-Verbindung ausgewählt.
Im 2.Schritt können nun die Datenbankobjekte ausgewählt werden, die durch die DB
Connection verfügbar sind.
Hinweis: Das Schema in der Datenbank muß namentlich nicht mit dem offline Schema
übereinstimmen.
13
Für das offline Schema können die Objekte auch unter New Name umbenannt werden.
Im 3. Schritt wird nun das Schema spezifiziert. Wenn das lokale Schema einen anderen
Namen hat, als das Schema der Datenbank, so muss das Schema überschrieben werden. Falls
Objekte schon einmal importiert wurden, können sie an dieser Stelle überschrieben werden.
14
Im finalen Schritt wird eine Zusammenfassung der durchgeführten Schritte angezeigt.
Mit Fertig stellen wird der Abgleich durchgeführt. Die zuvor noch nicht bekannten Objekte
in unserem lokalen Schema werden im Schema-Verzeichnis nun kursiv angezeigt.
Mit einen Doppelklick auf das Datenbankobjekt im Schema-Verzeichnis bekommt man die
Properties des jeweiligen Objektes angezeigt. Diese können hier auch geändert werden:
15
Werden Datenbankobjekte durch diese Möglichkeit verändert, so muss diese Veränderung
auch der Datenbank bekannt gemacht werden, indem ein Abgleich mit der richtigen
Datenbank durchgeführt wird. Der Abgleich muß natürlich auch dann vollzogen werden,
wenn neue Tabellen im offline Schema angelegt werden.
Generate or Reconcile Objects
Mit einem rechten Mausklick auf unser Schema-Verzeichnis erscheint ein Popup-Menü, aus
welchem Generate or Reconcile Objects auszuwählen ist:
Durch das Generate or Reconcile Objects wird ein SQL-Skript erstellt, welches die offline
Veränderungen, die auf der Datenbank stattgefunden haben, dokumentiert und entsprechend
in ein DDL-Statement umsetzt.
Im 1. Schritt des Wizards können die Objekte ausgewählt werden, die auf die Datenbank
appliziert werden sollen, unabhängig davon ob sie nur verändert oder gar neu angelegt
wurden.
16
Nach Weiter erscheint ein Fenster, in welchem ausgewählt werden kann, wie das SQL-Skript
aufgebaut werden soll.
Durch CREATE Objects werden DDL-Statements zum Erzeugen von Tabellen und
Constraints erzeugt. Dieses Statement erzeugt Fehler, wenn es die zu erzeugenden Objekte in
der Datenbank schon gibt, verhindert damit auch Gleichzeitig, dass Tabellen oder Daten
ungewollter Weise verloren gehen.
Mit REPLACE Objects, wird das Objekt in der Datenbank gelöscht, falls es schon
vorhanden sein sollte, und dann erneut erstellt. Hierbei gehen in der Datenbank befindliche
Daten verloren.
Mit ALTER Objects wird vom JDeveloper ein direkter Dictionaryabgleich der Datenbank
durchgeführt und ein Skript erstellt, welche die notwendigen Änderungen vollzieht um einen
Gleichstand zu erreichen. Hierbei wird im weiteren Verlauf zunächst eine DB Connection
aufgebaut. Hierfür muß bereits eine Datenbankverbindung definiert sein.
Wird wie folgt zunächst nur ein CREATE Objects ausgewählt
17
Im 3. Schritt kann ein Skript generiert werden, welches auf die Datenbank appliziert wird.
Wird Generate SQL Scripts ausgewählt, so muß ein Dateiname vergeben werden unter
welchem es im Projekt gespeichert wird. Jetzt kann mit Fertig stellen der Wizard beendet
werden.
Das Skript kann manuell appliziert werden.
18
Hinweis: Der Abgleich kann auch ohne gespeichertes Skript durchgeführt werden, es gibt
dann lediglich kein DDL-SQL-Statement in Skriptform.
Im 4. Schritt kann dann entschieden werden, dass das generierte Statement auf die Datenbank
appliziert werden soll, hierzu muß dann allerdings die entsprechende Database Connection
ausgewählt werden. Sollte keine vorhanden sein, kann über New eine Neue erstellt werden.
Der Wizard leitet dann den weiteren Ablauf in den Database Connection Wizard um. (siehe
oben)
Nach Erstellen der Datenbankverbindung-Source (JDBC) kehrt der Database Connection
Wizard in den Generate SQL from Offline Database Objects Wizard zurück.
Im finalen Schritt gibt es dann noch mal eine Zusammenfassung der Entscheidungen der
einzelnen Schritte.
Diese Genierungsoptionen können jetzt in einer Profile Datei im Projekt gespeichert werden.
19
Mit Fertig stellen wird nun das DDL-Statement auf die Datenbank appliziert.
Des weiteren gibt es, unter Umständen, 2 neue Dateien. Eine mit dem DDL-Statement und
eine Profiledatei (hier profile_ring.generate) für die Generierung.
Nach OK wird einem noch das generierte DDL-Statement im Source-Editor angezeigt.
Interessant ist jetzt vor allem die Profile-Datei.
Mit einem Doppelklick auf diese Datei bekommt man die Properties dieses
Generierungslaufes. Die definierten Optionen können jetzt noch beliebig geändert werden und
dann erneut oder gar zum ersten Mal auf die Datenbank appliziert werden. Auf diese Weise
muß der Wizard nicht abgebrochen werden, wenn Unklarheiten auftreten.
20
Mit einem rechten Mausklick auf die Datei kann im Popup-Menü dann das Generate
durchgeführt werden. Sollte das Generate mehrfach, ohne Veränderung der Profildaten,
ausgeführt werden, kann es zu Fehlern führen, z.B. dann, wenn eine Tabelle angelegt werden
soll, die schon existiert. Man kann die SQL Script Options der .generate auch dazu nutzen
selbst erstellte Skripte in den Generate-Vorgang einzubinden.
Das Database-Diagramm
Wer es lieber graphisch mag…
Der JDeveloper bietet noch die Möglichkeit die Datenbank graphisch zu entwickeln.
Mit einem rechten Mausklick auf dem Model-Projekt-Ordner im Applications Navigator
erscheint ein Popup-Menü aus welchem man New auswählt.
Aus der New Gallery wählen wir die Kategorie Database Tier → Offline Database Objects.
Aus den Aufgelisteten Items das Database Diagram.
Beim Anlegen vergibt man zunächst einen Namen für das Diagramm und weiter ein Package.
Hier kann ein beliebiger Name angegeben werden, denn wenn es das Package noch nicht gibt,
dann wird es erzeugt. Man sollte jedoch versuchen seine Packages nicht allzu sehr zu streuen
und sie thematisch beisammen zu halten.
21
Im Visual Editor befindet sich jetzt ein leeres Database Diagramm. Mittig findet sich ein
initialisierter Kommentar:
„Drag objects from the navigator
here to model them.
Alternatively, use the component
palette to create new objects”.
Um nun die bereits erstellten Tabellen auf das Diagramm zu bringen wählt man die Objekte
einfach im Applications Navigator unter den Offline Database Sources aus und zieht sie
per drag and drop auf das Diagramm. Hierbei werden die Relationen automatisch bildlich
dargestellt.
22
Um neue Objekte im Diagramm zu platzieren verwendet man die Component Palette, indem
man das gewünschte Objekt auswählt und es einfach per Mausklick im Diagramm platziert.
Platziert man z.B. eine neue Tabelle, so kann der Tabellenname gleich überschrieben werden.
Mit einem Doppelklick auf das neue Objekt bekommt man die Edit Offline Table
Funktionalität. Hier können jetzt die einzelnen Tabelleninformationen definiert werden. Diese
Ansicht ist bereits aus dem Schemaimport bekannt.
Mit OK wird die Ansicht beendet, es wird folglich nicht in den nächsten Informationspfad
gesprungen. Mit OK ist das Objekt noch nicht gespeichert! Im Applications Navigator wir das
Objekt daher kursiv angezeigt. Erst nach dem Speichern ist das Objekt eingefügt.
23
Unter den Column Information können die neuen Columns definiert werden:
Die PK-Information wird durch Selektion der Columns, die den Primary Key bilden, gesetzt:
Die Selected Columns bilden hierbei den Primary Key.
24
Hinweis: Mit OK werden die bereits definierten Attribute zwar nicht richtig gespeichert, aber
es verhält sich schon ein bisschen so, als wären sie gespeichert. Verlässt man die
Ansicht also mit OK, so ist das Objekt kursiv, aber die Werte sind gesetzt. Verlässt
man die Ansicht mit Abbrechen, egal unter welcher Informationsleiste man sich
gerade befindet, so gehen alle definierten Werte verloren….zumindest all die, die noch
nicht mit OK bestätigt wurden.
Bei der Definition des Foreign-Key ist noch interessant, dass ein FK auch für einen
ausschliesslichen offline Betrieb gesetzt werden kann.
Erzeugt man sich das DDL-Skript, wobei das Offline Only- Kennzeichen gesetzt ist, so wird
kein Foreign-Key-Statement generiert!
25
Im Diagramm wird die neue Tabelle entsprechend Ihrer Attribute dargestellt.
Die neue Tabelle befindet sich jetzt im offline Schema, sie muß jetzt noch für die online
Datenbank generiert und appliziert werden. (Siehe Generate or reconcile)
Soll nach Abschluß der Entwicklungsarbeit nun ein gesamtes Diagramm, also nicht nur ein
einzelnes Objekt übersetzt werden, so kann im Menü unter Model → Generate oder durch
den rechten Mausklick Generate, das erstellte Diagramm auf zwei Arten übersetzt werden:
1. → Data Definition Language
hiermit wird ein aktiver Ausschnitt des Diagramm, welcher zuvor mit Hilfe der Maus
markiert wurde, in eine applizierbare SQL-Syntax transformiert.
2. → Data Definition Language for Diagram
hiermit wird das gesamte Diagramm in eine applizierbare SQL-Syntax transformiert.
26
Im Connection Navigator kann jetzt die Datenbank betrachtet werden. Unter Database
sind die definierten JDBC-Sourcen zu
finden. Aufgeteilt in die unterschiedlichen Rollen der Datenbank (dies
wurde in der JDBC-Source) definiert.
Unter dem Verzeichnis Tables sind dann
die neu angelegten Tabellen zu finden.
Im Connection Navigator können die
einzelnen Tabellen detailiert betrachtet
werden. Es können die Columns, die
Primary Keys, die Foreign Keys etc.
betrachtet werden und auch definiert
werden, falls noch keine existieren. Es
können neue Spalten den Tabellen
hinzugefügt werden, aber keine
existierenden bearbeitet oder gar entfernt
werden. In dieser View wird direkt auf
der Datenbank gearbeitet. Um die
Definitionen der Tabellen zu ändern muß
also entweder über die Offline Database
Sources des Application Navigators
gearbeitet werden, oder direkt über SQL
Plus oder die Manager Console der
Datenbank.
Wurden die Definitionen der Tabellen über den Connection Navigator, welches nur im sehr
eingeschränken Fall möglich ist, oder über SQL Plus bewusst geändert, so kann diese
Änderung schnell durch einen Datenabgleich rück-übernommen werden.
Hat die Datenbank selbst einen aktuelleren Definitionsstand als unsere Offline Database
Sources, so wird im Application Navigator unter Offline Database Sources das Schema
herausgesucht, welches wieder aktualisiert werden soll.
27
Mit einem rechten
Mausklick auf das
gewünschte Schema
geht ein Untermenü
auf mit dessen letzten
Eintrag ein Abgleich
der Datenbankschemen
möglich gemacht wird.
Der Wizard Generate
SQL from Offline
Database Objects
übernimmt die
Navigation durch den
DDL-Abgleich.
28
29
Der integrierte OC4J
OC4J innerhalb des JDevelopers
Der „Embedded OC4J Server“ erlaubt es Web-Applikationen innerhalb des JDevelopers zu
testen. Er kann jederzeit verwendet werden, so wie wir es in einigen Beispielen bereits getan
haben. Dies erlaubt schnelle und kurze Testphasen während der Entwicklung.
OC4J ausserhalb des JDevelopers
Um die Web-Applikation von ausserhalb der JDeveloper IDE, quasi in einer echten
Serverumgebung, zu testen, kann man ebenfalls den „integrierten“ OC4J nutzen. Defacto
braucht man keinen separaten Application Server zu installieren. Sollte bereits ein separater
OC4J installiert sein, so braucht man diesen einfach nur zu starten.
Set up OC4J
1. Teste im Browser die folgende URL:
http://localhost:8888
2. Öffne die Eingabeaufforderung ( siehe: Start → Alle Programme → Zubehör)
3. Wechsel in das Verzeichnis der JDeveloper Installation
cd %JDEV_HOME%
Sollte die Umgebungsvariable JDEV_HOME nicht gesetzt sein, so sollte dies in der
Systemsteuerung geschehen, oder manuell in das Verzeichnis der JDeveloper
Installation gewechselt werden.
4. Führe das folgende Kommando aus, um auf die Javainstallation des JDevelopers zu
verweisen:
jdev\bin\setvars –go
(benutzt Defaulteinstellung)
5. Wechsel in das folgende Verzeichnis:
j2ee\home
6. Starte das Installationssetup-Skript mit
java –jar oc4j.jar -install
Auto-unpacking C:\JDeveloper\j2ee\home\applications\dms0.war... done.
Auto-unpacking C:\JDeveloper\j2ee\home\applications\dms.war... done.
Auto-unpacking C:\JDeveloper\BC4J\redist\bc4j.ear... done.
Auto-unpacking C:\JDeveloper\BC4J\redist\bc4j\webapp.war... done.
Auto-unpacking C:\JDeveloper\BC4J\redist\bc4j\cabo.war... done.
Auto-deploying bc4j (New server version detected)...
Auto-unpacking C:\JDeveloper\soap\webapps\soap.ear... done.
Auto-unpacking C:\JDeveloper\soap\webapps\soap\soap.war... done.
Auto-deploying soap (New server version detected)...
Enter an admin password to use: manager
Confirm admin password: manager
Installation done
7. Starte den OC4J Server
start java –jar oc4j.jar
In einem separaten Fenster wird die Initialisierung mit einer Erfolgsmeldung
30
angezeigt.
8. Öffne einen Browser und gebe folgende URL ein:
http://localhost:8888
Diesmal sollte keine Fehlermeldung mehr erscheinen, sondern die Defaultseite
angezeigt werden. Jetzt ist der OC4J Server ausserhalb der JDeveloper IDE
zugänglich.
9. Um den OC4J wieder zu beenden muß folgender Befehl ausgeführt werden:
java -jar admin.jar ormi://localhost admin <admin_password> -shutdown
31
Herunterladen