共用方式為


使用 ADO 執行 DiffGram (SQLXML 4.0)

此Microsoft Visual Basic 應用程式會使用 ADO 來建立Microsoft SQL Server 實例的連接,然後執行 DiffGram。 在此應用程式中,DiffGram 和 XSD 架構會儲存在檔案中。 應用程式會從指定的檔案載入 DiffGram。 您可以使用 DiffGram 範例中所述的任何 DiffGrams (以及相關聯的 XSD 架構)。

這是範例應用程式的程式:

  • conn 物件 (ADODB.連接) 會在特定伺服器上建立與執行中 SQL Server 實例的連接。

  • Cmd 物件 (ADODB.命令) 會在已建立的連接上執行。

  • 命令方言會設定為 DBGUID_MSSQLXML。

  • DiffGram 會從檔案複製到命令數據流 (strmIn)。

  • 命令的輸出數據流會設定為 StrmOut 物件 (ADODB。數據流) 以接收任何傳回的數據。

  • 當您使用 SQLOLEDB 提供者時,預設會取得 Sqlxmlx.dll所提供的Microsoft SQLXML 功能。 若要搭配 SQLOLEDB 提供者使用 Sqlxml4.dll,SQLXML Version 屬性必須在 SQLOLEDB Provider Connection 對象上設定為 SQLXML.4.0

  • 執行命令 (DiffGram)。

下列程式代碼是範例應用程式。

備註

在程式代碼中,您必須在連接字串中提供 SQL Server 實例的名稱。

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  

測試 DiffGram

  1. 在計算機上的資料夾,從 DiffGram 範例中的其中一個範例複製任何一個 DiffGrams 和對應的 XSD 架構。

  2. 開啟 Visual Basic 並建立 Standard EXE 專案。

  3. 將這些參考新增至專案:

    Microsoft ActiveX Data Objects 2.8 Library  
    
  4. 在 [工具箱] 中,按兩下 [CommandButton],然後在窗體上繪製按鈕。

  5. 按兩下按鈕以編輯程式代碼,並新增主題中提供的應用程式程式代碼。

  6. 編輯程式代碼以指定 DiffGram 和 XSD 檔名。 也請視需要編輯連接字串。

  7. 執行應用程式。 執行的結果取決於您正在執行的 DiffGram。