Compartilhar via


Executando um DiffGram usando o ADO (SQLXML 4.0)

Este aplicativo Microsoft Visual Basic usa o ADO para estabelecer uma conexão com uma instância do Microsoft SQL Server e então executar 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 dos DiffGrams (e o esquema XSD associado) descritos em Exemplos de DiffGram.

Este é o processo para o aplicativo de exemplo:

  • O objeto conn (ADODB.Connection) estabelece uma conexão com uma instância do SQL Server em execução 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) a partir de um arquivo.

  • O fluxo de saída do comando é definido como o objeto StrmOut (ADODB.Stream) para receber qualquer dado retornado.

  • 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 SQLXML Version deve ser definida como SQLXML.4.0 no objeto Connection do Provedor SQLOLEDB.

  • O comando (DiffGram) é executado.

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

ObservaçãoObservação

No código, é necessário fornecer o nome da instância do 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. Em uma pasta no seu computador, copie qualquer 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 em CommandButton e 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.