此Microsoft Visual Basic 应用程序使用 ADO 与 Microsoft SQL Server 实例建立连接,然后执行 DiffGram。 在此应用程序中,DiffGram 和 XSD 架构存储在文件中。 应用程序从指定文件加载 DiffGram。 可以使用 DiffGram 示例中所述的任何 DiffGram(以及关联的 XSD 架构)。
这是示例应用程序的过程:
conn 对象 (ADODB.连接) 与特定服务器上的 SQL Server 正在运行的实例建立连接。
cmd 对象(ADODB)。命令)在已建立的连接上执行。
命令方言设置为DBGUID_MSSQLXML。
DiffGram 从文件复制到命令流(strmIn)。
命令的输出流设置为 StrmOut 对象(ADODB)。流)接收任何返回的数据。
使用 SQLOLEDB 提供程序时,默认情况下,你将获得 Sqlxmlx.dll提供的Microsoft SQLXML 功能。 若要对 SQLOLEDB 提供程序使用 Sqlxml4.dll,必须在 SQLOLEDB 提供程序连接对象上将 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
若要在计算机上的文件夹,请从 DiffGram 示例中的一个示例复制任意一个 DiffGram 和相应的 XSD 架构。
打开 Visual Basic 并创建标准 EXE 项目。
将这些引用添加到项目:
Microsoft ActiveX Data Objects 2.8 Library在工具箱中,单击 CommandButton,然后在窗体上绘制按钮。
双击按钮编辑代码,并添加主题中提供的应用程序代码。
编辑代码以指定 DiffGram 和 XSD 文件名。 此外,根据需要编辑连接字符串。
执行应用程序。 执行的结果取决于所执行的 DiffGram。