Partager via


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

  1. 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.

  2. Ouvrez Visual Basic et créez un projet EXE standard.

  3. Ajoutez ces références au projet :

    Microsoft ActiveX Data Objects 2.8 Library
    
  4. Dans la Boîte à outils, cliquez sur CommandButton, puis dessinez un bouton sur le formulaire.

  5. Double-cliquez sur le bouton pour modifier le code et ajoutez le code d'application fourni dans la rubrique.

  6. Modifiez le code pour spécifier le DiffGram et les noms de fichier XSD. Modifiez aussi la chaîne de connexion si nécessaire.

  7. Exécutez l'application. Le résultat de l'exécution dépend du DiffGram que vous exécutez.