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çã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
Em uma pasta no seu computador, copie qualquer 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 em CommandButton e 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.