Condividi tramite


Esecuzione di un DiffGram tramite 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, DiffGram e lo schema XSD vengono archiviati in un file. L'applicazione carica DiffGram dal file specificato. È possibile usare uno qualsiasi dei DiffGram (e lo schema XSD associato) descritti in Esempi di DiffGram.

Questo è il processo per l'applicazione di esempio:

  • 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 dialetto del comando è 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 usa il provider SQLOLEDB, per impostazione predefinita si otterrà la funzionalità Microsoft SQLXML fornita da Sqlxmlx.dll. Per usare Sqlxml4.dll con il provider SQLOLEDB, è necessario impostare la proprietà SQLXML Version su SQLXML.4.0 nell'oggetto SQLOLEDB Provider Connection .

  • Viene eseguito il comando (DiffGram).

Il codice seguente è l'applicazione di esempio.

Annotazioni

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 del computer copiare uno qualsiasi dei DiffGram e dello schema XSD corrispondente da uno degli esempi in Esempi di DiffGram.

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

  3. Aggiungere questi riferimenti 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 di file DiffGram e XSD. Modificare anche la stringa di connessione in base alle esigenze.

  7. Eseguire l'applicazione. Il risultato dell'esecuzione dipende dall'oggetto DiffGram in esecuzione.