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
Para uma pasta no computador, copie qualquer um dos DiffGrams e o esquema XSD correspondente de um dos exemplos em Exemplos de DiffGram.
Abra o Visual Basic e crie um projeto EXE padrão.
Adicione estas referências ao projeto:
Microsoft ActiveX Data Objects 2.8 Library
Na Caixa de Ferramentas, clique em CommandButton e, em seguida, desenhe um botão no formulário.
Clique duas vezes no botão para editar o código e adicione o código do aplicativo que é fornecido no tópico.
Edite o código para especificar os nomes do DiffGram e do arquivo XSD. Edite também a cadeia de conexão, conforme apropriado.
Execute o aplicativo. O resultado da execução depende do DiffGram que você está executando.