Exécution d'un DiffGram à l'aide d'ADO (SQLXML 4.0)
Cette application Microsoft Visual Basic utilise ADO pour établir une connexion à une instance de Microsoft SQL Server, puis exécute un DiffGram. Dans cette application, le DiffGram et le schéma XSD sont stockés dans un fichier. L'application charge le DiffGram à partir du fichier spécifié. Vous pouvez utiliser l'un des DiffGrams (et le schéma XSD associé) décrits dans Exemples de DiffGram.
Voici le processus de l'exemple d'application :
L'objet conn (ADODB.Connection) établit une connexion à une instance SQL Server en cours d'exécution sur un serveur spécifique.
L'objet cmd (ADODB.Command) s'exécute sur la connexion établie.
Le dialecte de la commande est défini sur DBGUID_MSSQLXML.
Le DiffGram est copié sur le flux de commandes (strmIn) d'un fichier.
Le flux de sortie de la commande est défini sur l'objet StrmOut (ADODB.Stream) pour recevoir les données retournées.
Lorsque vous utilisez le fournisseur SQLOLEDB, par défaut, vous obtenez les fonctionnalités SQLXML de Microsoft fournies par Sqlxmlx.dll. Pour utiliser Sqlxml4.dll avec le fournisseur SQLOLEDB, la propriété SQLXML Version doit être définie avec la valeur SQLXML.4.0 sur l'objet Connexion du fournisseur SQLOLEDB.
La commande (DiffGram) est exécutée.
Le code suivant est celui de l'exemple d'application.
[!REMARQUE]
Dans le code, vous devez fournir le nom de l'instance de SQL Server dans la chaîne de connexion.
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
Pour tester le DiffGram
Dans un dossier de votre ordinateur, copiez l'un des DiffGrams et le schéma XSD correspondant de l'un des exemples de Exemples de DiffGram.
Ouvrez Visual Basic et créez un projet EXE standard.
Ajoutez ces références au projet :
Microsoft ActiveX Data Objects 2.8 Library
Dans la Boîte à outils, cliquez sur CommandButton, puis dessinez un bouton sur le formulaire.
Double-cliquez sur le bouton pour modifier le code et ajoutez le code d'application fourni dans la rubrique.
Modifiez le code pour spécifier le DiffGram et les noms de fichier XSD. Modifiez aussi la chaîne de connexion si nécessaire.
Exécutez l'application. Le résultat de l'exécution dépend du DiffGram que vous exécutez.