Visão geral do Provedor OLE DB Remoto do Microsoft (Provedor de Serviços do ADO)
O Provedor OLE DB de Comunicação Remota do Microsoft permite que um usuário local em um computador cliente invoque provedores de dados em um computador remoto. Especifique os parâmetros do provedor de dados para o computador remoto como faria se fosse um usuário local no computador remoto. Em seguida, especifique os parâmetros usados pelo Provedor de Comunicação Remota para acessar o computador remoto. Em seguida, você pode acessar o computador remoto como se fosse um usuário local.
Importante
A partir do Windows 8 e do Windows Server 2012, os componentes do servidor RDS não estão mais incluídos no sistema operacional Windows (confira Windows 8 e Manual de Compatibilidade do Windows Server 2012 para obter mais detalhes). Os componentes do cliente RDS serão removidos em uma versão futura do Windows. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Os aplicativos que usam o RDS devem migrar para o Serviço de Dados do WCF.
Palavra-chave do provedor
Para invocar o Provedor OLE DB de Comunicação Remota, especifique a palavra-chave e o valor a seguir na cadeia de conexão. (Observe o espaço em branco no nome do provedor.)
"Provider=MS Remote"
Palavras-chave adicionais
Quando esse provedor de serviços é invocado, as seguintes palavras-chave adicionais são relevantes.
Palavra-chave | Descrição |
---|---|
Fonte de dados | Especifica o nome da fonte de dados remota. Ela é passada para o Provedor OLE DB de Comunicação Remota para processamento. Essa palavra-chave é equivalente ao objeto RDS.DataControl que tem a propriedade Connect. |
Propriedades Dinâmicas
Quando esse provedor de serviços é invocado, as propriedades dinâmicas apresentadas a seguir são adicionadas à coleção Propriedades do objeto Connection.
Nome de propriedades dinâmicas | Descrição |
---|---|
DFMode | Indica o modo DataFactory. Uma cadeia de caracteres que especifica a versão desejada do objeto DataFactory no servidor. Defina essa propriedade antes de abrir uma conexão para solicitar uma versão específica do DataFactory. Se a versão solicitada não estiver disponível, será feita uma tentativa de usar a versão anterior. Se não houver nenhuma versão anterior, ocorrerá um erro. Se DFMode for menor que a versão disponível, ocorrerá um erro. Essa propriedade é somente leitura depois que uma conexão é feita. Pode ser um dos seguintes valores de cadeia de caracteres válidos: - "25"-Versão 2.5 (padrão) - "21"-Versão 2.1 - "20"-Versão 2.0 - "15"-Versão 1.5 |
Propriedades do Comando | Indica valores que serão adicionados à cadeia de caracteres de propriedades de comando (conjunto de linhas) enviadas ao servidor pelo provedor remoto MS. O valor padrão dessa cadeia de caracteres é vt_empty. |
DFMode atual | Indica o número de versão real do DataFactory no servidor. Verifique esta propriedade para ver se a versão solicitada na propriedade DFMode foi atendida. Pode ser um dos seguintes valores inteiros longos válidos: - 25-Versão 2.5 (padrão) - 21-Versão 2.1 - 20-Versão 2.0 - 15-Versão 1.5 Adicionar "DFMode=20;" à cadeia de conexão ao usar o provedor MSRemote pode melhorar o desempenho do servidor ao atualizar dados. Com essa configuração, o objeto RDSServer.DataFactory no servidor usa um modo menos intensivo de recursos. No entanto, os seguintes recursos não estão disponíveis nesta configuração: – Uso de consultas parametrizadas. – Obter informações de parâmetro ou coluna antes de chamar o método Execute. - Definindo Atualizações de transações como True. - Obtendo o status da linha. - Chamando o método Resync. - Atualizando (explicitamente ou automaticamente) por meio da propriedade Atualizar Resync. – Definindo propriedades Command ou Conjunto de registros. - Usando adCmdTableDirect. |
Manipulador | Indica o nome de um programa de personalização do lado do servidor (ou manipulador) que estende a funcionalidade do RDSServer.DataFactory e quaisquer parâmetros usados pelo manipulador, tudo separado por vírgulas (","). Um valor de String. |
Tempo limite de Internet | Indica o número máximo de milissegundos a aguardar uma solicitação para viajar de e para o servidor. (O padrão é 5 minutos). |
Provedor Remoto | Indica o nome do provedor de dados a ser usado no servidor remoto. |
Servidor Remoto | Indica o nome do servidor e o protocolo de comunicação a ser usado por essa conexão. Esta propriedade é equivalente à propriedade Server do objeto RDS.DataContro. |
Atualizações de transação | Quando definido como True, esse valor indica que quando UpdateBatch é executado no servidor, ele será feito dentro de uma transação. O valor padrão desta propriedade booliana é False. |
Você também pode definir propriedades dinâmicas graváveis especificando seus nomes como palavras-chave na cadeia de conexão. Por exemplo, defina a propriedade dinâmica Tempo Limite da Internet como cinco segundos especificando:
Dim cn as New ADODB.Connection
cn.Open "Provider=MS Remote;Internet Timeout=5000"
Você também pode definir ou recuperar uma propriedade dinâmica especificando seu nome como o índice para a propriedade Properties. O exemplo a seguir mostra como obter e imprimir o valor atual da propriedade dinâmica Tempo Limite da Internet e, em seguida, definir um novo valor:
Debug.Print cn.Properties("Internet Timeout")
cn.Properties("Internet Timeout") = 5000
Comentários
No ADO 2.0, o Provedor de Comunicação Remota OLE DB só pôde ser especificado no parâmetro ActiveConnection do método Open do objeto Recordset. A partir do ADO 2.1, o provedor também pode ser especificado no parâmetro ConnectionString do método Open do objeto Connection.
O equivalente da propriedade SQL do objeto RDS.DataControl não está disponível. O argumento Source do método Open do objeto Recordset é usado em vez disso.
Observação Especificar "...;Remote Provider=MS Remote;..." criaria um cenário de quatro camadas. Cenários maiores do que com três camadas não foram testados e não devem ser necessários.
Exemplo
Este exemplo executa uma consulta na tabela Autores do banco de dados pubs em um servidor chamado YourServer. Os nomes da fonte de dados remota e do servidor remoto são fornecidos no método Open do objeto Connection e a consulta SQL é especificada no método Open do objeto Recordset. Um objeto Recordset é retornado, editado e usado para atualizar a fonte de dados.
Dim rs as New ADODB.Recordset
Dim cn as New ADODB.Connection
cn.Open "Provider=MS Remote;Data Source=pubs;" & _
"Remote Server=https://YourServer"
rs.Open "SELECT * FROM authors", cn
... 'Edit the recordset
rs.UpdateBatch 'Equivalent of RDS SubmitChanges
...