Поделиться через


Выполнение DiffGram с помощью ADO (SQLXML 4.0)

Это приложение Microsoft Visual Basic использует ADO для установления подключения к экземпляру Microsoft SQL Server, а затем выполняет DiffGram. В этом приложении схема DiffGram и XSD хранятся в файле. Приложение загружает DiffGram из указанного файла. Вы можете использовать любой из DiffGrams (и связанную схему XSD), описанную в примерах DiffGram.

Это процесс для примера приложения:

  • Объект conn (ADODB). Подключение) устанавливает подключение к работающему экземпляру SQL Server на определенном сервере.

  • Объект cmd (ADODB). Команда) выполняется в установленном соединении.

  • Для диалекта команды задано значение DBGUID_MSSQLXML.

  • DiffGram копируется в поток команд (strmIn) из файла.

  • Выходной поток команды имеет значение объекта StrmOut (ADODB). Stream) для получения возвращаемых данных.

  • При использовании поставщика SQLOLEDB по умолчанию вы получите функциональные возможности Microsoft SQLXML, предоставляемые Sqlxmlx.dll. Чтобы использовать Sqlxml4.dll с поставщиком SQLOLEDB, свойство версии SQLXML должно иметь значение SQLXML.4.0 в объекте подключения поставщика SQLOLEDB.

  • Выполняется команда (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 Examples.

  2. Откройте Visual Basic и создайте проект Standard EXE.

  3. Добавьте следующие ссылки в проект:

    Microsoft ActiveX Data Objects 2.8 Library  
    
  4. На панели элементов щелкните CommandButton и нарисуйте кнопку в форме.

  5. Дважды щелкните кнопку, чтобы изменить код, и добавьте код приложения, предоставленный в разделе.

  6. Измените код, чтобы указать имена файлов DiffGram и XSD. Кроме того, измените строку подключения соответствующим образом.

  7. Выполните приложение. Результат выполнения зависит от того, что выполняется DiffGram.