Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
Ouvrir datastore
|
Ouvrir datastore ( infoConnexion ; localID ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
infoConnexion | Objet |
![]() |
Propriétés de connexion utilisées pour atteindre le datastore distant | |||||
localID | Texte |
![]() |
Identifiant à affecter au datastore ouvert sur l'application locale (obligatoire) | |||||
Résultat | Objet |
![]() |
Objet datastore | |||||
La commande Ouvrir datastore connecte l'application à la base de données 4D identifiée par le paramètre infoConnexion et retourne un objet datastore correspondant associé à l'alias local localID.
Les échanges avec le datastore distant sont automatiquement gérés via les requêtes REST.
La base de données infoConnexion 4D doit être disponible en tant que datastore distant, c'est-à-dire :
Si aucune base de données correspondante n'est trouvée, Ouvrir datastore renvoie la valeur Null.
localID est un alias local de la session ouverte sur le datastore distant. Si localID existe déjà dans l'application, il est utilisé. Sinon, une nouvelle session localID est créée lors de l’utilisation de l’objet datastore.
Une fois la session ouverte, les instructions suivantes deviennent équivalentes et renvoient une référence sur le même objet datastore :
$myds:=Ouvrir datastore(connectionInfo;"myLocalId")
$myds2:=ds("myLocalId")
//$myds et $myds2 sont équivalents
Passez dans connectionInfo un objet décrivant le datastore distant auquel vous souhaitez vous connecter. Il peut contenir les propriétés suivantes (toutes les propriétés sont optionnelles, à l'exception de hostname) :
Propriété | Type | Description |
hostname | Texte | Nom ou adresse IP du datastore distant + ":" + numéro de port (le numéro de port est obligatoire) |
user | Texte | Nom d'utilisateur |
password | Texte | Mot de passe utilisateur |
idleTimeout | Entier long | Délai (timeout) d'inactivité de la session (en minutes), à l'issue duquel la session est automatiquement fermée par 4D. Si omis, la valeur par défaut est de 60 (1h). La valeur ne peut pas être inférieure à 60 (si une valeur inférieure est transmise, le timeout est défini sur 60). Pour plus d'informations, reportez-vous à Fermeture des sessions. |
tls | Booléen | Utiliser une connexion sécurisée(*). Si omis, faux par défaut. L'utilisation d'une connexion sécurisée est recommandée autant que possible. |
type | Texte | Doit être "4D Server" |
(*)Si tls est vrai, le protocole HTTPS est utilisé si :
Connexion à un datastore distant sans utilisateur/mot de passe :
C_OBJET($connectTo;$remoteDS)
$connectTo:=Creer objet("type";"4D Server";"hostname";"192.168.18.11:8044")
$remoteDS:=Ouvrir datastore($connectTo;"students")
ALERTE("Ce datastore distant contient "+Chaine($remoteDS.Students.all().length)+" étudiants")
Connexion à un datastore distant avec utilisateur/mot de passe/timeout/tls :
C_OBJET($connectTo;$remoteDS)
$connectTo:=Creer objet("type";"4D Server";"hostname";"192.168.18.11:4443";"user";"marie";"password";$pwd;"idleTimeout";70;"tls";Vrai)
$remoteDS:=Ouvrir datastore($connectTo;"students")
ALERTE("Ce datastore distant contient "+Chaine($remoteDS.Students.all().length)+" étudiants")
Travailler avec plusieurs datastores distants :
C_OBJET($connectTo;$frenchStudents;$foreignStudents)
$connectTo:=Creer objet("hostname";"192.168.18.11:8044")
$frenchStudents:=Ouvrir datastore($connectTo;"french")
$connectTo.hostname:="192.168.18.11:8050"
$foreignStudents:=Ouvrir datastore($connectTo;"foreign")
ALERTE("Il y a "+Chaine($frenchStudents.Students.all().length)+" étudiants français")
ALERTE("Il y a "+Chaine($foreignStudents.Students.all().length)+" étudiants étrangers")
En cas d'erreur, la commande retourne Null. Si le datastore distant ne peut pas être atteint (adresse incorrecte, wb serveur non lancé, http et https non activés, etc.) l'erreur 1610 "Une requête vers l’hôte: "{xxx}" a échoué. Vous pouvez intercepter cette erreur avec une méthode installée par APPELER SUR ERREUR.
Produit : 4D
Thème : ORDA - DataStore
Numéro :
1452
Nom intl. : Open datastore
Créé : 4D v18
4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)
4D - Langage ( 4D v19.4)
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)