Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
Open datastore
|
Open datastore ( infoConexion ; localID ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
infoConexion | Objeto |
![]() |
Propiedades de conexión utilizadas para llegar al datastore remoto | |||||
localID | Texto |
![]() |
Id para asignar al datastore abierto en la aplicación local (obligatorio) | |||||
Resultado | Objeto |
![]() |
Objeto datastore | |||||
El comando Open datastore conecta la aplicación a la base de datos 4D identificada por el parámetro infoConexion y devuelve un objeto datastore correspondiente asociado al alias local localID.
Los intercambios con el almacén de datos remoto se gestionan automáticamente a través de las solicitudes de REST.
Si no se encuentra una base de datos coincidente, Open datastore devuelve Null.
localID es un alias local para la sesión abierta en el datastore remoto. Si localID ya existe en la aplicación, se utiliza. De lo contrario, se crea una nueva sesión localID cuando se usa el objeto datastore.
Una vez que se abre la sesión, las siguientes declaraciones se vuelven equivalentes y devuelven una referencia en el mismo objeto datastore:
$myds:=Open datastore(connectionInfo;"myLocalId")
$myds2:=ds("myLocalId")
//$myds y $myds2 son equivalentes
Pase en infoConexion un objeto que describa el datastore remoto al que desea conectarse. Puede contener las siguientes propiedades (todas las propiedades son opcionales, excepto el hostname):
Propiedad | Tipo | Descripción |
hostname | Texto | Nombre o dirección IP del datastore remoto + ":" + número de puerto (el número de puerto es obligatorio) |
user | Texto | Nombre de usuario |
password | Texto | Contraseña de usuario |
idleTimeout | Entero largo | Tiempo de espera de sesión de inactividad (en minutos), después de lo cual 4D cierra automáticamente la sesión. Si se omite, el valor predeterminado es 60 (1h). El valor no puede ser <60 (si se pasa un valor inferior, el tiempo de espera se establece en 60). Para más información, consulte Cierre de sesiones. |
tls | Booleano | Usar conexión segura (*). Si se omite, false por defecto. Se recomienda utilizar una conexión segura siempre que sea posible. |
type | Texto | Debe ser "4D Server" |
(*) Si tls es true, el protocolo HTTPS se utiliza si:
Conexión a un datastore remoto sin usuario/contraseña:
C_OBJECT($connectTo;$remoteDS)
$connectTo:=New object("type";"4D Server";"hostname";"192.168.18.11:8044")
$remoteDS:=Open datastore($connectTo;"students")
ALERT("Este datastore remoto contiene "+String($remoteDS.Students.all().length)+" students")
Conexión a un datastore remoto con usuario / contraseña / 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")
Trabajar con varios datastores remotos:
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")
En caso de error, el comando devuelve Null. Si no se puede acceder al datastore remoto (dirección incorrecta, servidor web no iniciado, http y https no habilitados...), se genera el error 1610 "Ha fallado una solicitud remota al host XXX". Puede interceptar este error con un método instalado por ON ERR CALL.
Producto: 4D
Tema: ORDA - DataStore
Número
1452
Creado por: 4D v18
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)