共用方式為


使用 ADO 執行 DiffGram (SQLXML 4.0)

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

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

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

  • cmd 物件 (ADODB.Command) 會在已建立的連接上執行。

  • 命令用語會設定為 DBGUID_MSSQLXML。

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

  • 命令的輸出資料流會設定為 StrmOut 物件 (ADODB.Stream) 才能接受任何傳回的資料。

  • 當您使用 SQLOLEDB 提供者時,根據預設,您會取得 Sqlxmlx.dll 提供的 Microsoft SQLXML 功能。 若要搭配 SQLOLEDB 提供者使用 Sqlxml4.dll,必須在 SQLOLEDB 提供者的 Connection 物件上,將 SQLXML Version 屬性設定為 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. 將其中任何一個 DiffGrams 和對應的 XSD 結構描述從<DiffGram 範例>中的其中一個範例複製到電腦上的資料夾中。

  2. 開啟 Visual Basic,然後建立一個標準的 EXE 專案。

  3. 將這些參考加入到專案中:

    Microsoft ActiveX Data Objects 2.8 Library
    
  4. 在 [工具箱] 中,按一下 CommandButton,然後在表單上繪製一個按鈕。

  5. 按兩下該按鈕來編輯程式碼,然後加入主題中提供之應用程式的程式碼。

  6. 編輯程式碼以指定 DiffGram 和 XSD 檔案名稱。 同時在適當時,編輯連接字串。

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