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, les schémas DiffGram et 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 les exemples DiffGram.

Il s’agit du processus de l’exemple d’application :

  • Objet conn (ADODB. Connexion) établit une connexion à une instance en cours d’exécution de SQL Server sur un serveur spécifique.

  • Objet cmd (ADODB. Commande) s’exécute sur la connexion établie.

  • Le dialecte de commande est défini sur DBGUID_MSSQLXML.

  • Le DiffGram est copié dans le flux de commandes (strmIn) à partir d’un fichier.

  • Le flux de sortie de la commande est défini sur l’objet StrmOut (ADODB). Stream) pour recevoir toutes les données retournées.

  • Lorsque vous utilisez le fournisseur SQLOLEDB, par défaut, vous obtenez la fonctionnalité Microsoft SQLXML fournie par Sqlxmlx.dll. Pour utiliser Sqlxml4.dll avec le fournisseur SQLOLEDB, la propriété SQLXML Version doit être définie sur SQLXML.4.0 sur l’objet sqlOLEDB Provider Connection .

  • La commande (DiffGram) est exécutée.

Le code suivant est 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 sur votre ordinateur, copiez l’un des DiffGrams et le schéma XSD correspondant à partir de l’un des exemples de DiffGram Examples.

  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 les noms de fichiers DiffGram et XSD. Modifiez également la chaîne de connexion en fonction des besoins.

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