Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
Open datastore
|
Open datastore ( infoConexao ; localID ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
infoConexao | Objeto |
![]() |
propriedades conexão usadas para alcançar datastore remota | |||||
localID | Texto |
![]() |
ID a atribuir ao datastore aberto na aplicação local (obrigatório) | |||||
Resultado | Objeto |
![]() |
Objeto Datastore | |||||
O comando Open datastore conecta a aplicação ao banco de dados 4D identificada pelo parâmetro infoConexao e devolve um objeto datastore correspondente associado ao alias local localID.
Trocas com a datastore remota são gerenciadas automaticamente com as petições REST.
Se não encontrar um banco de dados coincidente, Open datastore devolve Null.
localID é um alias local para a sessão aberta no datastore remoto. Se localID já existir na aplicação, é utilizado. Do contrário, se cria uma nova sessão localID quando se usa o objeto datastore.
Quando abrir a sessão, as seguintes declarações ficam equivalentes e devolvem uma referência no mesmo objeto datastore:
$myds:=Open datastore(connectionInfo;"myLocalId")
$myds2:=ds("myLocalId")
//$myds y $myds2 son equivalentes
Passe em infoConexion um objeto que descreva o datastore remoto ao que queira conectar-se. Pode conter as seguintes propriedades (todas as propriedades são opcionais, exceto o hostname):
Propriedade | Tipo | Descrição |
hostname | Texto | Nome ou endereço IP do datastore remoto + ":" + número de porto (o número de porto é obrigatóirio) |
user | Texto | Nome de usuário |
password | Texto | Senha de usuário |
idleTimeout | Inteiro longo | Tempo de espera de sessão de inatividad (em minutos), depois do qual 4D fecha automaticamente a sesão. Se for omitido, o valor predeterminado é 2880 (48h). O valor não pode ser <60 (se passar um valor inferior, o iempo de espera se estabelece em 60). Para mais informação, consulte Fechar sessões. |
tls | Booleano | Usar conexão segura (*). Se omitir, false por padrão. Se recomenda utilizar uma conexão segura sempre que seja possível. |
type | Texto | Deve ser "4D Server" |
(*) Se tls for true, o protocolo HTTPS se utiliza se:
Conexão a um datastore remoto sem usuário/senha:
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ão a um datastore remoto com usuário /senha / 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")
Trabalhando com vários 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")
Em caso de erro o comando devolve Null. Se não puder acessar o datastore remoto (endereço incorreto, servidor web não iniciado, http e https não habilitados...), se gera o erro 1610 "Uma petição remota ao host XXX falhou". Pode interceptar este erro com um método instalado por ON ERR CALL.
Produto: 4D
Tema: ORDA - DataStore
Número
1452
Criado por: 4D v18
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)