Condividi tramite


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

  1. In una cartella nel computer copiare uno dei DiffGrams e lo schema XSD corrispondente da uno degli esempi in Esempi di DiffGram.

  2. Aprire Visual Basic e creare un progetto Standard Exe.

  3. Aggiungere i riferimenti seguenti al progetto:

    Microsoft ActiveX Data Objects 2.8 Library  
    
  4. Nella casella degli strumenti fare clic su CommandButton e quindi disegnare un pulsante nel modulo.

  5. Fare doppio clic sul pulsante per modificare il codice e aggiungere il codice dell'applicazione fornito nell'argomento.

  6. Modificare il codice per specificare i nomi dei file DiffGram e XSD. Modificare anche la stringa di connessione in modo appropriato.

  7. Eseguire l'applicazione. Il risultato dell'esecuzione dipende dal DiffGram che si esegue.