Compartilhar via


Provedor remoto Microsoft OLE DB (Provedor de serviços ADO)

Aplica-se ao: Access 2013, Office 2013

O Microsoft OLE DB Remoting Provider permite que um usuário local em uma máquina cliente invoque provedores de dados em uma máquina remota. Especifique os parâmetros do provedor de dados na máquina remota como se fosse um usuário local na máquina remota. Em seguida, especifique os parâmetros utilizados pelo Remoting Provider para acessar a máquina remota. Como resultado, você acessará a máquina remota como se fosse um usuário local.

Palavra-chave do provedor

Para invocar o OLE DB Remoting Provider, especifique a palavra-chave e o valor abaixo na sequência 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

Data Source

Especifica o nome da fonte de dados remota. É passada ao OLE DB Remoting Provider para processamento. Essa palavra-chave é equivalente à propriedade Connect do objeto RDS.DataControl.

Propriedades dinâmicas

Quando esse provedor de serviços é invocado, as propriedades dinâmicas abaixo são adicionadas à coleção Properties do objeto Connection.

Nome da propriedade dinâmica

Descrição

DFMode

Indica o Modo DataFactory. Uma cadeia de caracteres que especifica a versão desejada do objeto DataFactory no servidor. Defina esta propriedade antes de abrir uma conexão para solicitar uma versão específica de 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 uma versão anterior, ocorrerá um erro. Se DFMode for inferior à versão disponível, ocorrerá um erro. Esta propriedade será somente leitura depois que uma conexão for estabelecida. Pode ser um dos seguintes valores válidos da cadeia de caracteres:

  • "25" — Versão 2.5 (Padrão)

  • "21" — Versão 2.1

  • "20" — Versão 2.0

  • "15" — Versão 1.5

Command Properties

Indica os valores que serão adicionados à sequência de propriedades de comando (conjunto de linhas) enviadas ao servidor pelo provedor MS Remote. O valor padrão para essa cadeia de caracteres é vt_empty.

Current DFMode

Indica o número da versão do DataFactory existente no servidor. Verifique esta propriedade para determinar se a versão solicitada na propriedade DFMode foi considerada. 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;" à sequência de conexão ao usar o provedor MSRemote pode melhorar o desempenho do servidor durante a atualização de dados. Com essa configuração, o objeto RDSServer.DataFactory no servidor utiliza um modo que consome menos recursos. No entanto, os seguintes recursos não estão disponíveis nesta configuração:

  • Uso de consultas parametrizadas.

  • Obtenção de informações de parâmetro ou de coluna antes da chamada do método Execute.

  • Definição de Transacionar Atualizações como Verdadeira.

  • Obtenção de status da linha.

  • Chamada do método Resync.

  • Atualização (de forma explícita ou automática) por meio da propriedade Update Resync.

  • Definição das propriedades Command ou Recordset.

  • Usar adCmdTableDirect.

Manipulador

Indica o nome de um programa de personalização (manipulador) no servidor que estande a funcionalidade do RDSServer.DataFactory, bem como quaisquer parâmetros utilizados pelo manipulador, todos separados por vírgulas (","). Um valor String.

Internet Timeout

Indica o intervalo máximo de espera, em milissegundos, pelo ciclo completo de envio da solicitação e resposta do servidor. (O padrão é 5 minutos.)

Remote Provider

Indica o nome do provedor de dados que será utilizado no servidor remoto.

Remote Server

Indica o nome do servidor e o protocolo de comunicação que será utilizado nessa conexão. Esta propriedade é equivalente à propriedade Server do objeto RDS.DataControl.

Transact Updates

Se tiver sido definido como True, este valor indicará que quando UpdateBatch for executado no servidor, isso ocorrerá dentro de uma transação. O valor padrão para essa propriedade dinâmica booleana é False.

Você também pode definir propriedades dinâmicas que podem ser gravadas especificando seus nomes como palavras-chave na sequência de conexão. Por exemplo, defina o valor de cinco segundos para a propriedade dinâmica Internet Timeout, especificando:

 
Dim cn as New ADODB.Connection 
cn.Open "Provider=MS Remote;Internet Timeout=5000" 

Além disso, você pode definir ou recuperar uma propriedade dinâmica especificando o seu nome como índice da propriedade Properties. Por exemplo, obtenha e imprima o valor atual da propriedade dinâmica Internet Timeout e defina um novo valor, como este:

 
Debug.Print cn.Properties("Internet Timeout") 
cn.Properties("Internet Timeout") = 5000 

Comentários

No ADO 2.0, o OLE DB Remoting Provider podia ser especificado somente 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. Em seu lugar é utilizado o argumento Source do método Open do objeto Recordset.

Especificar "...;Remote Provider=MS Remote;..." criaria um cenário em quatro camadas. Os cenários com mais de três camadas não foram testados e não devem ser necessários.

Exemplo

Este exemplo executa uma consulta na tabela authors 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 
...