此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
在計算機上的資料夾,從 DiffGram 範例中的其中一個範例複製任何一個 DiffGrams 和對應的 XSD 架構。
開啟 Visual Basic 並建立 Standard EXE 專案。
將這些參考新增至專案:
Microsoft ActiveX Data Objects 2.8 Library在 [工具箱] 中,按兩下 [CommandButton],然後在窗體上繪製按鈕。
按兩下按鈕以編輯程式代碼,並新增主題中提供的應用程式程式代碼。
編輯程式代碼以指定 DiffGram 和 XSD 檔名。 也請視需要編輯連接字串。
執行應用程式。 執行的結果取決於您正在執行的 DiffGram。