Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
Open datastore

Open datastore 


 

Open datastore ( infoConexao ; localID ) -> Resultado 
Parâmetro Tipo   Descrição
infoConexao  Objeto in propriedades conexão usadas para alcançar datastore remota
localID  Texto in ID a atribuir ao datastore aberto na aplicação local (obrigatório)
Resultado  Objeto in 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.

O banco de dados infoConexion 4D deve estar disponível como um datastore remoto, ou seja:
  • seu servidor web deve ser iniciado com http ou https ativado,
  • sua opção Expose as REST server deve estar marcada (ver Página Web/Ressource REST),
  • ao menos uma licença cliente deve estar dispoível.

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):

PropriedadeTipoDescrição
hostnameTextoNome ou endereço IP do datastore remoto + ":" + número de porto (o número de porto é obrigatóirio)
userTextoNome de usuário
passwordTextoSenha de usuário
idleTimeoutInteiro longoTempo 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.
tlsBooleanoUsar conexão segura (*). Se omitir, false por padrão. Se recomenda utilizar uma conexão  segura sempre que seja possível.
typeTextoDeve ser "4D Server"

(*) Se tls for true, o protocolo HTTPS se utiliza se:

  • HTTPS estiver ativado no datastore remoto
  • o porto dado é o porto HTTPS correto configurado nas propriedades do banco de dados
  • se instalam um certificado válido e uma chave de cifrado privada no banco de dados (ver ).
    Do contrário, se gera o erro "1610 - Uma petição remota ao  host xxx falhou"

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.



Ver também 

Ambiente 4D
ds

 
PROPRIEDADES 

Produto: 4D
Tema: ORDA - DataStore
Número 1452

Este comando modifica a variável sistema ErrorThis command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v18

 
ARTICLE USAGE

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)