Modelo de programação do RDS em detalhes
Aplica-se ao: Access 2013, Office 2013
O modelo de programação RDS é formado por estes elementos-chave:
- RDS. DataSpace
- RDSServer.DataFactory
- RDS. DataControl
- Evento
RDS. DataSpace
Seu aplicativo cliente deve especificar o servidor e o programa de servidor a ser chamado. Em troca, ele recebe uma referência ao programa de servidor, podendo tratá-la como se ela fosse o próprio programa de servidor.
O modelo de objeto RDS incorpora essa funcionalidade com o objeto RDS.DataSpace.
O programa de servidor é especificado com um identificador de programa, ou ProgID. O servidor usa o ProgID e o registro da máquina para localizar informações sobre o programa real a ser iniciado.
O RDS faz uma distinção internamente consoante o programa de servidor esteja num servidor remoto na Internet ou numa intranet; um servidor numa rede de área local; ou não num servidor, mas sim numa biblioteca de ligações dinâmicas (DLL) local. Esta distinção determina a forma como as informações são trocadas entre o cliente e o servidor e faz uma diferença tangível no tipo de referência devolvida à sua aplicação cliente. No entanto, do seu ponto de vista, esta distinção não tem um significado especial. Tudo o que importa é que receba uma referência de programa utilizável.
RDSServer.DataFactory
O RDS fornece um programa de servidor padrão que pode executar uma consulta SQL na fonte de dados e retornar um objeto Recordset ou usar um objeto Recordset e atualizar a fonte de dados.
O modelo de objeto RDS incorpora essa funcionalidade com o objeto RDSServer.DataFactory.
Além disso, este objeto tem um método para criar um objeto Conjunto de registos vazio que pode preencher programaticamente (CriarRegisto) e outro método para converter um objeto Conjunto de registos numa cadeia de texto para criar uma página Web (ConvertToString).
Com o ADO, você pode substituir parte do comportamento de comando e da conexão padrão de RDSServer.DataFactory com um manipulador DataFactory e um arquivo de personalização contendo parâmetros de conexão, comando e segurança.
Por vezes, o programa de servidor é denominado objeto empresarial. Você pode criar o seu próprio objeto corporativo para executar um acesso a dados complicados, verificações de validade etc. Até mesmo ao escrever um objeto corporativo personalizado, você poderá criar uma instância de um objeto RDSServer.DataFactory e usar alguns de seus métodos para executar suas próprias tarefas.
RDS. DataControl
O RDS permite combinar a funcionalidade de RDS.DataSpace e RDSServer.DataFactory, e também permite que os controles visuais utilizem facilmente o objeto Recordset retornado por uma consulta de uma fonte de dados. Para o caso mais comum, o RDS tenta ao máximo obter acesso automaticamente às informações em um servidor e exibi-las em um controle visual.
O modelo de objeto RDS incorpora essa funcionalidade com o objeto RDS.DataControl.
O RDS.DataControl possui dois aspectos. Um deles refere-se à fonte de dados. Se você definir as informações de comando e de conexão usando as propriedades Connect e SQL de RDS.DataControl, elas utilizarão o RDS.DataSpace automaticamente para criar uma referência ao objeto RDSServer.DataFactory padrão. Em seguida, RDSServer.DataFactory utilizará o valor da propriedade Connect para se conectar à fonte de dados, utilizará o valor da propriedade SQL para obter um Recordset da fonte de dados e retornará o objeto Recordset a RDS.DataControl.
O segundo aspecto refere-se à exibição das informações retornadas de Recordset em um controle visual. Pode associar um controlo visual ao RDS. DataControl (num processo chamado enlace) e obtenha acesso às informações no objeto Conjunto de registos associado, apresentando os resultados da consulta numa página Web no Microsoft Internet Explorer. Cada objeto RDS.DataControl acopla um objeto Recordset, que representa os resultados de uma única consulta, a um ou mais controles visuais (por exemplo, uma caixa de texto, uma caixa de combinação, um controle de grade etc.). É possível haver mais de um objeto RDS.DataControl em cada página. Cada objeto RDS.DataControl pode ser conectado a uma fonte de dados diferente e conter os resultados de uma consulta separada.
O objeto RDS.DataControl também possui seus próprios métodos de navegação, classificação e filtragem das linhas do objeto Recordset associado. Esses métodos são semelhantes, mas diferentes dos métodos no objeto ADO Recordset.
Eventos
O RDS oferece suporte a dois de seus próprios eventos, que são independentes do modelo de evento ADO. O evento onReadyStateChange é chamado sempre que a propriedade ReadyState de RDS.DataControl é alterada, notificando-o, quando uma operação assíncrona for concluída com êxito, encerrada ou contiver erro. O evento onError é chamado sempre que ocorre um erro, mesmo que ele ocorra durante uma operação assíncrona.
Observação
[!OBSERVAçãO] O Microsoft Internet Explorer oferece dois eventos adicionais aos do RDS onDataSetChanged (o Recordset está funcional, mas ainda recupera linhas) e onDataSetComplete (o Recordset concluiu a recuperação de linhas).