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


Использование ADO для выполнения запросов SQLXML 4.0

В предыдущих версиях SQLXML выполнение запросов по HTTP поддерживалось с помощью виртуальных каталогов SQLXML в IIS и ISAPI-фильтра SQLXML. В SQLXML 4.0 эти компоненты были удалены, так как похожая и перекрывающаяся функциональность предоставляется собственными веб-службами с поддержкой XML, начиная с версии SQL Server 2005.

В качестве альтернативы можно выполнять запросы и использовать SQLXML 4.0 с приложениями на основе COM, используя расширения SQLXML для объектов данных ActiveX (ADO), которые появились в компонентах доступа к данным (MDAC) версии 2.6 и более поздних.

В этом разделе демонстрируется использование SQLXML и ADO как части приложения Visual Basic Scripting Edition (VBScript) (сценария с расширением файла VBS). Обеспечивает начальную процедуру установки, которая помогает воссоздать и тестировать образцы запросов в документации SQLXML 4.0.

Создание тестового сценария SQLXML 4.0

В этой процедуре создается файл VBScript (.vbs), Sqlxml4test.vbs, который можно использовать для выполнения запросов SQLXML с использованием ADO-расширений SQLXML в ADO 2.6 и более поздних версий.

Создание испытателя запросов SQLXML 4.0 с использованием ADO (VBScript).

  1. Скопируйте следующий код и вставьте его в текстовый файл. Сохраните файл с именем Sqlxml4test.xml.

    WScript.Echo "Query process may take a few seconds to complete. Please be patient."' Note that for SQL Server Native Client to be used as the data provider,' it needs to be installed on the client computer first. Also, SQLXML extensions ' for ADO are used and available in MDAC 2.6 or later.'Set script variables.inputFile = "@@FILE_NAME@@"strServer = "@@SERVER_NAME@@"strDatabase = "@@DATABASE_NAME@@"dbGuid = "{5d531cb2-e6ed-11d2-b252-00c04f681b71}"' Establish ADO connection to SQL Server and ' create an instance of the ADO Command object.Set conn = CreateObject("ADODB.Connection")Set cmd = CreateObject("ADODB.Command")conn.Open "Provider=SQLXMLOLEDB.4.0;Data Provider=SQLNCLI10;Server=" & strServer & _          ";Database=" & strDatabase & ";Integrated Security=SSPI"Set cmd.ActiveConnection = conn' Create the input stream as an instance of the ADO Stream object.Set inStream = CreateObject("ADODB.Stream")inStream.OpeninStream.Charset = "utf-8"inStream.LoadFromFile inputFile' Set ADO Command instance to use input stream.Set cmd.CommandStream = inStream' Set the command dialect.cmd.Dialect = dbGuid' Set a second ADO Stream instance for use as a results stream. Set outStream = CreateObject("ADODB.Stream")outStream.Open' Set dynamic properties used by the SQLXML ADO command instance. cmd.Properties("XML Root").Value = "ROOT"cmd.Properties("Output Encoding").Value = "UTF-8"' Connect the results stream to the command instance and execute the command.cmd.Properties("Output Stream").Value = outStreamcmd.Execute , , 1024' Echo cropped/partial results to console.WScript.Echo Left(outStream.ReadText, 1023)inStream.CloseoutStream.Close
    
  2. Обновите следующие значения сценариев для образца, который предстоит протестировать, и тестовой среды.

    • Найдите «@@FILE_NAME@@» и замените его именем файла шаблона.

    • Найдите «@@SERVER_NAME@@» и замените его именем экземпляра SQL Server (например, «(local)», если SQL Server выполняется локально).

    • Найдите «@@DATABASE_NAME@@» и замените его именем базы данных (например, «AdventureWorks» или «tempdb»).

    Обновите любые другие значения, упомянутые в конкретных инструкциях для примера, который нужно восстановить локально на компьютере.

  3. Сохраните файл и закройте его.

  4. Проверьте, что созданы все дополнительные файлы, такие как XML-шаблоны или схемы, которые являются частью образца, который нужно локально воссоздать на компьютере. Эти файлы должны находиться в том же каталоге, в котором сохранен файл тестового сценария (Sqlxml4test.vbs).

  5. Следуйте инструкциям следующего раздела по использованию тестового сценария SQLXML 4.0.

Использование тестового сценария SQLXML 4.0

Следующая процедура описывает способ использования файлов Sqlxml4test.vbs для тестирования примеров запросов, предоставленных в этой документации.

Использование испытателя запросов SQLXML 4.0

  1. Проверьте, что установлен собственный клиент SQL Server:

    1. В меню Пуск выберите пункт Настройка, затем нажмите Панель управления.

    2. В панели управления и откройте элемент Установка и удаление программ.

    3. В списке установленных программ проверьте, что в списке имеется Собственный клиент Microsoft SQL Server.

      ПримечаниеПримечание

      Если нужно установить собственный клиент SQL Server, см. раздел Установка собственного клиента SQL Server.

  2. Проверьте, что версия на клиентском компьютере установлена версия MDAC 2.6 или более поздняя. Эта проблема отсутствует в Windows XP и Windows Server 2003. Если нужно проверить сведения о версии MDAC, можно использовать средство проверки компонентов MDAC, которое можно бесплатно загрузить из веб-узла Майкрософт (www.microsoft.com). Чтобы получить дополнительные сведения выполните поиск с ключевыми словами «MDAC Component Checker» на веб-узле корпорации Майкрософт.

  3. Выполните сценарий.

    Файл VBScript можно выполнить из командной строки с использованием Cscript.exe, или дважды щелкнув файл Sqlxml4test.vbs, чтобы вызвать сервер сценариев Windows (WScript.exe).

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