Esecuzione di un DiffGram mediante ADO (SQLXML 4.0)
Questa applicazione Microsoft Visual Basic usa ADO per stabilire una connessione a un'istanza di Microsoft SQL Server e quindi esegue un DiffGram. In questa applicazione il DiffGram e lo schema XSD vengono archiviati in un file. L'applicazione carica il DiffGram dal file specificato. È possibile usare uno qualsiasi dei DiffGrams (e lo schema XSD associato) descritti in Esempi di DiffGram.
Il processo per l'applicazione di esempio è il seguente:
Oggetto conn (ADODB). Connessione) stabilisce una connessione a un'istanza in esecuzione di SQL Server in un server specifico.
Oggetto cmd (ADODB). Comando) viene eseguito sulla connessione stabilita.
Il sottolinguaggio del comando viene impostato su DBGUID_MSSQLXML.
DiffGram viene copiato nel flusso di comandi (strmIn) da un file.
Il flusso di output del comando è impostato sull'oggetto StrmOut (ADODB). Flusso) per ricevere i dati restituiti.
Quando si utilizza il provider SQLOLEDB, per impostazione predefinita si otterrà la funzionalità Microsoft SQLXML fornita da Sqlxmlx.dll. Per usare Sqlxml4.dll con il provider SQLOLEDB, la proprietà SQLXML Version deve essere impostata su SQLXML.4.0 nell'oggetto SQLOLEDB Provider Connection .
Il comando (DiffGram) viene eseguito.
Di seguito viene riportato il codice dell'applicazione di esempio:
Nota
Nel codice è necessario specificare il nome dell'istanza di SQL Server nella stringa di connessione.
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
Per testare DiffGram
In una cartella nel computer copiare uno dei DiffGrams e lo schema XSD corrispondente da uno degli esempi in Esempi di DiffGram.
Aprire Visual Basic e creare un progetto Standard Exe.
Aggiungere i riferimenti seguenti al progetto:
Microsoft ActiveX Data Objects 2.8 Library
Nella casella degli strumenti fare clic su CommandButton e quindi disegnare un pulsante nel modulo.
Fare doppio clic sul pulsante per modificare il codice e aggiungere il codice dell'applicazione fornito nell'argomento.
Modificare il codice per specificare i nomi dei file DiffGram e XSD. Modificare anche la stringa di connessione in modo appropriato.
Eseguire l'applicazione. Il risultato dell'esecuzione dipende dal DiffGram che si esegue.