2016-05-05 4 views
0

Wie kann ich die Oracle-Datenbank für die Entwicklungsumgebung verwenden? Der Grund, warum ich das tun möchte, weil ich das Problem reproduzieren möchte, das wir in Testumgebung mit Push-Benachrichtigung gefunden haben, - (Benutzer wird atomatisch abgemeldet, wenn die App neu gestartet wird. Benutzer-ID wird automatisch durch Code in der Tabelle PUSH_SUBSCRIPTION überschrieben.)MFP 7.1 - Verwendung der Oracle-Datenbank für die Entwicklungsumgebung

Derby, die mit dev kommen, erlaubt nicht 2 Verbindungen.

Muss ich den Server installieren oder kann ich einfach auf die vorhandene Oracle-Datenbank verweisen, wo ich bereits das WLADMIN- und das WRKLIGHT-Schema erstellt habe.

+0

Sie erwähnen - "Benutzer-ID wird automatisch durch einen Code in der Tabelle PUSH_SUBSCRIPTION überschrieben." Merkst du das Problem nur auf iOS? –

+0

in beiden IOS und ANDROID –

+0

Speziell, wenn ich die App neu starte. Ich denke, das WL.Client.connect macht das. –

Antwort

0

Tatsächlich unterstützt die Entwicklungsumgebung Oracle.

Öffnen Sie Ihr Projekt \ server \ conf \ worklight.properties.
In dieser Datei ist es im Abschnitt:

############################################ 
# DB Settings [Development Only] 
############################################ 

# For MySQL 
#wl.db.url=jdbc:mysql://localhost:3306/WRKLGHT 
# For Derby 
#wl.db.url=jdbc:derby:${worklight.home}/derby/WorklightDB;create=true 
#wl.reports.db.url=jdbc:derby:${worklight.home}/derby/WorklightReportsDB;create=true 
# For DB2 
#wl.db.url=jdbc:db2:WRKLGHT 
# For Oracle 
#wl.db.url=jdbc:oracle:thin:@localhost:1521:SID 

#wl.db.username=worklight 
#wl.db.password=worklight 

Uncomment die Linie für Oracle (wl.db.url) und die wl.db.username und wl.db.password Linien.

Füllen Sie diese Zeilen mit den korrekten Details aus.

Der nächste Start, vor dem Starten des Servers, ist sicherzustellen, dass die Datenbank bereit ist.

Wenn Sie bereits einen vorhandenen Server haben, könnte es funktionieren. Aber wenn Sie richtig testen wollen, sollten Sie wahrscheinlich einen sauberen haben. So oder so, Sichern Sie Ihre Datenbank.

Da Sie dies von Studio testen werden, Ich denke,, dass die Datenbank automatisch für Sie beim Serverstart erstellt wird (im Gegensatz zu externen Servern, wo Sie dies auf eigene Faust tun müssen). Sie müssen es jedoch trotzdem erstellen. Sie müssen das ant-Skript ausführen, um die verschiedenen Tabellen zu generieren.

+0

Das funktionierte, aber ich musste auch die Datei ojdbc.jar zu meiner Laufzeit-WAR-Datei hinzufügen. –

+0

Da ich die Worklight-Datenbank auf Oracle umgestellt habe, habe ich festgestellt, dass ich die App nicht mehr im Browser ausführen kann. Ich sehe diesen Fehler im Browser. http: // Hostname/MeinProjekt/Autorisierung/v1/Clients/Vorschau] Fehler. state: 500, response: Der Server konnte die Anfrage von der Anwendung nicht bearbeiten. Bitte versuche es später erneut. –

+0

Wie kann ich das beheben? –

0

Die MobileFirst Platform-Entwicklungsumgebung unterstützt nicht die Verwendung externer Datenbanken für die Laufzeit- und Verwaltungsdienste der MobileFirst Platform - Sie können nur die eingebettete Derby-Datenbank verwenden. Wenn Sie die server.xml im Entwicklungsserver ändern, um den Oracle-JDBC-Treiber anstelle des Derby-Treibers zu laden und die Datenquellen zu ändern, um sie zu verwenden (und auf bereits vorhandene Datenbanken verweisen, die bereits erstellt und mit den von uns bereitgestellten Skripts gefüllt wurden) der Standalone-Server - da die Entwicklungsumgebung keine Möglichkeit bietet, dies manuell zu tun), kann ich nicht aus einem Grund denken, dass es nicht funktionieren würde - aber ich habe es nie persönlich ausprobiert, und es ist völlig nicht unterstützt, also wenn Sie Wenn Sie dabei auf ein Problem stoßen, können wir Ihnen möglicherweise keine Hilfe anbieten. Außerdem bin ich mir nicht sicher, ob Ihre server.xml-Änderungen überschrieben werden, wenn Sie die Anwendung (d. H. Die WAR-Datei) erneut auf dem Entwicklungsserver bereitstellen.

Wahrscheinlich die einfachste (und am meisten unterstützbare) Art zu erreichen, was Sie tun möchten, wäre einen separaten eigenständigen Testserver mit Oracle als Datenbankserver einzurichten.

Es wäre keine gute Idee, diese Testumgebung auf vorhandene Datenbanken zu verweisen, die bereits für eine Produktionsanwendung verwendet werden. Es sollte eigene Datenbanken haben, die von jeder anderen Umgebung getrennt sind.

+1

Danke Pathbarron! Ich denke, um sicher zu sein, werde ich separaten eigenständigen Server erstellen, indem Sie die Ameisenskripte ausführen und diesen Server in Eclipse hinzufügen, ohne den Entwicklungsserver zu berühren. damit ich bei Bedarf zurückschalten kann. –

+0

Basierend auf den Informationen, die Idan zur Verfügung gestellt hat, scheint meine Antwort falsch zu sein - ich suchte in der Dokumentation nach einer Möglichkeit, dies zu tun, und konnte das nicht finden ... Bitte versuchen Sie Idans Vorschlag, und wenn Sie finden, dass er Ihre Frage löst Bitte markieren Sie seine Antwort als "Akzeptiert", so dass dies nicht mehr als unbeantwortete Frage angezeigt wird. Vielen Dank! – patbarron