Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
Open datastore

Open datastore 


 

Open datastore ( connectionInfo ; localID ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
connectionInfo  Objekt in Verbindungseigenschaften für den remote Datastore
localID  Text in ID zum Zuweisen an den geöffneten Datastore der lokalen Anwendung (zwingend)
Funktionsergebnis  Objekt in Objekt Datastore

Der Befehl Open datastore öffnet eine Verbindung zu einem weiteren 4D Server und gibt dafür einen Objekt Datastore zurück. Der Server wird über den Parameter connectionInfo bestimmt. Diese Verbindung erhält zum vereinfachten späteren Zugriff das Alias localID.

Der Austausch mit dem remote Datastore wird automatisch via REST Anfragen durchgeführt.

Der in connectionInfo angegebene 4D Server muss als ein remote Datastore verfügbar sein, z.B.:

  • Ihr Web Server muss mit aktivierten http bzw. https gestartet werden
  • Ihre Option REST Server starten muss markiert sein (siehe Seite Web/REST Ressource)
  • mindestens eine Client Lizenz muss verfügbar sein

Wird keine passende Datenbank gefunden, gibt Open datastore Null zurück.

localID ist ein lokales Alias für die im remote Datastore geöffnete Sitzung. Existiert localID bereits in der Anwendung, wird diese verwendet. Sonst wird bei Verwenden des Objekts Datastore eine neue localID Sitzung angelegt. 

Ist die Sitzung geöffnet, werden folgende Anweisungen gleichwertig und geben eine Referenz auf das gleiche Objekt Datastore zurück:

 $myds:=Open datastore(connectionInfo;"myLocalId")
 $myds2:=ds("myLocalId")
  //$myds und $myds2 sind gleichwertig

In connectionInfo übergeben Sie ein Objekt mit der Beschreibung des remote Datastore, an den Sie sich anmelden wollen. Er kann folgende Eigenschaften enthalten (bis auf hostname sind alle Eigenschaften optional):

EigenschaftTypBeschreibung
hostnameTextName oder IP Adresse der remote Datenbank + ":" + Port Nummer (die Port Nummer ist zwingend)
userTextBenutzername
passwordTextBenutzerkennwort
idleTimeoutLange GanzzahlTimeout für inaktive Sitzung (in Minuten), nach der 4D die Sitzung automatisch schließt. Ohne Angabe ist der Standardwert 60 (1h). Der Wert kann nicht < 60 sein. Bei einem geringeren Wert wird das Timeout auf 60 gesetzt. Weitere Informationen dazu finden Sie im Abschnitt Sitzungen schließen.
tlsBooleanGesicherte Verbindung verwenden (*). Ist ohne * standardmäßig falsch. Es wird empfohlen, immer wenn möglich, eine gesicherte Verbindung zu verwenden.
typeTextMuss "4D Server" sein

(*) Ist tls wahr, wird das HTTPS Protokoll verwendet, wenn:

  • HTTPS auf dem remote Datastore aktiviert ist
  • Der gegebene Port der richtige HTTPS Port ist, der in den Datenbank-Eigenschaften konfiguriert ist
  • In der Anwendung gültige Schlüssel für zertifizierte und private Verschlüsselung installiert sind (siehe unter ).
    Andernfalls erscheint der Fehler "1610 - Eine remote Anfrage an Host xxx ist fehlgeschlagen"

Anmeldung an einen remote Datastore ohne Benutzer / Kennwort:

 C_OBJECT($connectTo;$remoteDS)
 $connectTo:=New object("type";"4D Server";"hostname";"192.168.18.11:8044")
 $remoteDS:=Open datastore($connectTo;"students")
 ALERT("This remote datastore contains "+String($remoteDS.Students.all().length)+" students")

Anmeldung an einen remote Datastore mit Benutzer / Kennwort / Timeout / tls:

 C_OBJECT($connectTo;$remoteDS)
 $connectTo:=New object("type";"4D Server";"hostname";"192.168.18.11:4443";"user";"marie";"password";$pwd;"idleTimeout";70;"tls";True)
 $remoteDS:=Open datastore($connectTo;"students")
 ALERT("This remote datastore contains "+String($remoteDS.Students.all().length)+" students")

Mit mehreren remote Dtastores arbeiten:

 C_OBJECT($connectTo;$frenchStudents;$foreignStudents)
 $connectTo:=New object("hostname";"192.168.18.11:8044")
 $frenchStudents:=Open datastore($connectTo;"french")
 $connectTo.hostname:="192.168.18.11:8050"
 $foreignStudents:=Open datastore($connectTo;"foreign")
 ALERT("They are "+String($frenchStudents.Students.all().length)+" French students")
 ALERT("They are "+String($foreignStudents.Students.all().length)+" foreign students")

Bei einem Fehler gibt der Befehl Null zurück. Ist der remote Datastore nicht erreichbar (falsche Adresse, Web Server nicht gestartet, http und https nicht aktiviert..), wird Fehler 1610 "Eine remote Anfrage an Host XXX ist fehlgeschlagen" generiert. Sie können diesen Fehler mit einer über ON ERR CALL installierten Fehlerverwaltungsmethode abfangen. 



Siehe auch 

4D Umgebung
ds

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: ORDA - DataStore
Nummer: 1452

Dieser Befehl ändert die Systemvariable ErrorDieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v18

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)