Ausführen eines DiffGram-Objekts mit ADO (SQLXML 4.0)
Diese Microsoft Visual Basic-Anwendung verwendet ADO, um eine Verbindung zu einer Instanz von Microsoft SQL Server herzustellen, und führt dann ein DiffGram-Objekt aus. In dieser Anwendung werden das DiffGram-Objekt und das XSD-Schema in einer Datei gespeichert. Die Anwendung lädt das DiffGram-Objekt aus der angegebenen Datei. Sie können ein beliebiges DiffGram-Objekt (mit zugeordnetem XSD-Schema) von den in DiffGram-Beispiele beschriebenen verwenden.
Das ist der Ablauf bei der Beispielanwendung:
Das conn-Objekt (ADODB.Connection) stellt eine Verbindung zu einer aktuell ausgeführten Instanz von SQL Server auf einem bestimmten Server her.
Das cmd -Objekt (ADODB.Command) wird für die hergestellte Verbindung ausgeführt.
Der Befehlsdialekt wird auf DBGUID_MSSQLXML festgelegt.
Das DiffGram-Objekt wird aus einer Datei zum Befehlsdatenstrom (strmIn) kopiert.
Der Ausgabedatenstrom des Befehls wird auf das StrmOut-Objekt (ADODB.Stream) festgelegt, um eventuell zurückgegebene Daten zu empfangen.
Wenn Sie den SQLOLEDB-Anbieter verwenden, wird die Microsoft SQLXML-Funktionalität standardmäßig von Sqlxmlx.dll bereitgestellt. Wenn Sie Sqlxml4.dll mit dem SQLOLEDB-Anbieter verwenden möchten, muss die SQLXML Version-Eigenschaft des Connection-Objekts für den SQLOLEDB-Anbieter auf SQLXML.4.0 festgelegt sein.
Der Befehl (DiffGram) wird ausgeführt.
Der folgende Code stellt die Beispielanwendung dar.
Hinweis |
---|
Im Code müssen Sie den Namen der Instanz von SQL Server in der Verbindungszeichenfolge bereitstellen. |
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-Objekt
Kopieren Sie eines der DiffGram-Objekte und das zugehörige XSD-Schema aus einem der Beispiele in DiffGram-Beispiele in einen Ordner auf Ihrem Computer.
Öffnen Sie Visual Basic, und erstellen Sie ein Standard-EXE-Projekt.
Fügen Sie dem Projekt die folgenden Verweise hinzu:
Microsoft ActiveX Data Objects 2.8 Library
Klicken Sie in der Toolbox auf CommandButton, und zeichnen Sie dann eine Schaltfläche auf dem Formular.
Doppelklicken Sie auf die Schaltfläche, um den Code zu bearbeiten, und fügen Sie den Anwendungscode aus dem Dokument hinzu.
Bearbeiten Sie den Code, um das DiffGram-Objekt und die XSD-Dateinamen anzugeben. Bearbeiten Sie außerdem die Verbindungszeichenfolge nach Bedarf.
Führen Sie die Anwendung aus. Das Ergebnis der Ausführung hängt davon ab, was für ein DiffGram-Objekt Sie ausführen.