Freigeben über


Ausführen eines DiffGrams mithilfe von ADO (SQLXML 4.0)

Diese Microsoft Visual Basic-Anwendung verwendet ADO zum Herstellen einer Verbindung mit einer Instanz von Microsoft SQL Server und führt dann ein DiffGram aus. In dieser Anwendung werden das DiffGram und das XSD-Schema in einer Datei gespeichert. Die Anwendung lädt das DiffGram aus der angegebenen Datei. Sie können eines der DiffGrams (und das zugehörige XSD-Schema) verwenden, das in DiffGram-Beispielen beschrieben wird.

Dies ist der Prozess für die Beispielanwendung:

  • Das Conn-Objekt (ADODB). Verbindung) stellt eine Verbindung mit einer ausgeführten Instanz von SQL Server auf einem bestimmten Server her.

  • Das cmd-Objekt (ADODB. Befehl) wird für die hergestellte Verbindung ausgeführt.

  • Der Befehlsdialekt wird auf DBGUID_MSSQLXML festgelegt.

  • Das DiffGram wird aus einer Datei in den Befehlsdatenstrom (strmIn) kopiert.

  • Der Ausgabedatenstrom des Befehls wird auf das StrmOut-Objekt (ADODB) festgelegt. Stream) um alle zurückgegebenen Daten zu empfangen.

  • Wenn Sie den SQLOLEDB-Anbieter verwenden, erhalten Sie standardmäßig die Von Sqlxmlx.dllbereitgestellte Microsoft SQLXML-Funktionalität. Um Sqlxml4.dll mit dem SQLOLEDB-Anbieter zu verwenden, muss die SQLXML-Version-Eigenschaft für das SQLOLEDB-Anbieterverbindungsobjekt auf SQLXML.4.0 festgelegt werden.

  • Der Befehl (DiffGram) wird ausgeführt.

Der folgende Code ist die Beispielanwendung.

Hinweis

Im Code müssen Sie den Namen der Instanz von SQL Server in der Verbindungszeichenfolge angeben.

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  

So testen Sie das DiffGram

  1. Kopieren Sie in einen Ordner auf Ihrem Computer eines der DiffGrams und des entsprechenden XSD-Schemas aus einem der Beispiele in DiffGram-Beispielen.

  2. Öffnen Sie Visual Basic, und erstellen Sie ein Standard EXE-Projekt.

  3. Fügen Sie dem Projekt die folgenden Verweise hinzu:

    Microsoft ActiveX Data Objects 2.8 Library  
    
  4. Klicken Sie in der Toolbox auf CommandButton, und zeichnen Sie dann eine Schaltfläche im Formular.

  5. Doppelklicken Sie auf die Schaltfläche, um den Code zu bearbeiten, und fügen Sie den Anwendungscode hinzu, der im Thema bereitgestellt wird.

  6. Bearbeiten Sie den Code, um die Dateinamen "DiffGram" und "XSD" anzugeben. Bearbeiten Sie auch die Verbindungszeichenfolge entsprechend.

  7. Führen Sie die Anwendung aus. Das Ergebnis der Ausführung hängt davon ab, welches DiffGram Sie ausführen.