Compartilhar via


Executando um DiffGram usando o ADO (SQLXML 4.0)

Este aplicativo do Microsoft Visual Basic usa o ADO para estabelecer uma conexão com uma instância do Microsoft SQL Server e, em seguida, executa um DiffGram. Nesse aplicativo, o DiffGram e o esquema XSD são armazenados em um arquivo. O aplicativo carrega o DiffGram a partir do arquivo especificado. Você pode usar qualquer um dos DiffGrams (e o esquema XSD associado) descrito em Exemplos de DiffGram.

Este é o processo para o aplicativo de exemplo:

  • O objeto conn (ADODB. Conexão) estabelece uma conexão com uma instância em execução de SQL Server em um servidor específico.

  • O objeto cmd (ADODB). Command) é executado na conexão estabelecida.

  • O dialeto do comando é definido como DBGUID_MSSQLXML.

  • O DiffGram é copiado para o fluxo de comando (strmIn) de um arquivo.

  • O fluxo de saída do comando é definido como o objeto StrmOut (ADODB). Stream) para receber os dados retornados.

  • Ao usar o Provedor SQLOLEDB, por padrão, você obterá a funcionalidade do Microsoft SQLXML fornecida por Sqlxmlx.dll. Para usar Sqlxml4.dll com o Provedor SQLOLEDB, a propriedade Versão do SQLXML deve ser definida como SQLXML.4.0 no objeto Conexão do Provedor SQLOLEDB.

  • O comando (DiffGram) é executado.

O código a seguir é o aplicativo de exemplo.

Observação

No código, você deve fornecer o nome da instância de SQL Server na cadeia de conexão.

Private Sub Command1_Click()  
  Dim cmd As New ADODB.Command  
  Dim conn As New ADODB.Connection  
  Dim strmOut As New ADODB.Stream  
  Dim strmIn As New ADODB.Stream  
  
  'Open a connection to SQL Server.  
  conn.Provider = "SQLOLEDB"  
  conn.Open "server=SqlServerName; database=tempdb; Integrated Security=SSPI; "  
  conn.Properties("SQLXML Version") = "SQLXML.4.0"  
  Set cmd.ActiveConnection = conn  
  strmIn.Open  
  strmIn.Charset = "UTF-8"  
  strmIn.LoadFromFile "C:\SomeFilePath\SampleDiffGram.xml"  
  strmIn.Position = 0  
  Set cmd.CommandStream = strmIn  
  
  strmOut.Open  
  cmd.Properties("Output Stream").Value = strmOut  
  cmd.Properties("Output Encoding").Value = "UTF-8"  
  
  cmd.Dialect = "{5d531cb2-e6ed-11d2-b252-00c04f681b71}"  
  cmd.Properties("Mapping Schema") = "C:\SomeFilePath\SampleDiffGram.xml"  
  cmd.Execute , , adExecuteStream  
  strmOut.Position = 0  
  Set cmd = Nothing  
  strmOut.Charset = "UTF-8"  
  strmOut.SaveToFile "C:\DropIt.txt", adSaveCreateOverWrite  
  strmOut.Close  
  Set strmOut = Nothing  
  
End Sub  

Para testar o DiffGram

  1. Para uma pasta no computador, copie qualquer um dos DiffGrams e o esquema XSD correspondente de um dos exemplos em Exemplos de DiffGram.

  2. Abra o Visual Basic e crie um projeto EXE padrão.

  3. Adicione estas referências ao projeto:

    Microsoft ActiveX Data Objects 2.8 Library  
    
  4. Na Caixa de Ferramentas, clique em CommandButton e, em seguida, desenhe um botão no formulário.

  5. Clique duas vezes no botão para editar o código e adicione o código do aplicativo que é fornecido no tópico.

  6. Edite o código para especificar os nomes do DiffGram e do arquivo XSD. Edite também a cadeia de conexão, conforme apropriado.

  7. Execute o aplicativo. O resultado da execução depende do DiffGram que você está executando.