- •Iis и xml функции sql Server
- •Поддержка xml в Microsoft sql Server 2000
- •Примеры
- •Iis и xml функции sql Server
- •Шаблоны
- •Запросы xPath
- •Замечания по разделу
- •Возможности ado 2.5 Сохранение и загрузка из файла в формате xml
- •Выдача Recordset’а в формате xml непосредственно в поток Response
- •Трансформация с помощью domDocument
- •Возможности ado 2.6
- •Использование Command для формирования xml-документа на сервере
- •Выполнение шаблона
- •Выполнение запроса xPath
- •Шаблон с агрегатными функциями
- •Формирование xml-документа на клиенте с помощью ado
- •Апдейтаграммы и xml Bulk Load
- •Апдейтаграммы
- •Добавление данных
- •Обновление данных
- •Удаление
- •Создание новой таблицы и загрузка данных
- •Загрузка иерархических документов
- •Заключение
- •Литература
- •Предисловие
- •Настройка iis
- •Содержание wsdl-файла
- •Секция types
- •Секция message
- •Секция portType
- •Формы сообщений
- •Секция binding
- •Секция service
- •Создание Web-методов
- •Тестируем Web-сервис
- •Поддержка sqlxml в .Net Framework
- •Тестовый проект
- •Цели и ограничения
- •Реализация
- •Заключение
- •Литература
- •Тип данных xml Основы
- •Метод query
- •Метод value
- •Метод exist
- •Метод modify
- •Использование xml-типа
- •Хранение xml-типа
- •Поддержка xml Schema
- •Создание схемы
- •Удаление схемы
- •Ограничения текущей реализации
- •Безопасность
- •Вложенные запросы for xml
- •Генерация xsd на лету
- •Поддержка xQuery
- •Тело запроса
- •Конструкторы узлов
- •Операторы сравнения
- •Операторы сравнения атомарных значений
- •Общие операторы сравнения
- •Операторы сравнения узлов
- •Логические операторы
- •Условные выражения
- •Flwor-выражения
- •Кванторные выражения
- •Сортировка
- •Заключение
- •Литература
Заключение
Когда следует использовать описанный в статье подход? Очевидно, что для слишком больших систем он неприемлем, так как:
Слабо масштабируется.
В качестве языка реализации бизнес-логики используется T-SQL, что не всегда бывает оправдано.
Предъявляет высокие требования к браузеру клиента (необходима поддержка «поведений Web-сервисов», которые пока реализованы только в IE 5.0 и выше).
Имеет не очень высокое быстродействие.
Этот список недостатков решения. Наоборот, для простых систем, вроде корпоративных домашних страничек, форумов и проч. такое решение соответствует как нельзя лучше.
Microsoft продолжает развивать данный подход: в новой версии SQL Server под кодовым названием «Yukon» будет встроенная поддержка Internet-сервера, а ISAPI-расширение sqlxml.dll будет входить в дистрибутив.
Литература
Использование XML совместно с SQL. Часть 1. Алексей Ширшов.
Build Data-Driven Web Services with Updated XML Support for SQL Server 2000
Using SQLXML 3.0 and Visual Basic .NET to Build an Intranet Web Site
SQLXML Managed Classes
RPC/Literal and Freedom of Choice
Simple Object Access Protocol (SOAP) 1.1
Эта статья опубликована в журнале RSDN Magazine #1-2004. Информацию о журнале можно найти здесь
Использование XML совместно с SQL
Часть 3. Новые возможности Microsoft SQL Server 2005 (Yukon)
Автор: Алексей Ширшов Источник: RSDN Magazine #2-2004
Опубликовано: 16.10.2004 Исправлено: 13.03.2005 Версия текста: 1.0
Введение
Тип данных XML
Основы
XML DML
Поддержка XML Schema
SQL-инструкции и XML
Поддержка XQuery
Основы
Конструкторы узлов
Операторы сравнения
Логические операторы
Условные выражения
FLWOR-выражения
Кванторные выражения
Сортировка
Заключение
Литература
Введение
Все большее количество информации в современных промышленных системах представляется в формате XML. С его помощью удобно описывать различные структуры данных, он является межплатформенным форматом и поддерживается большинством языков и библиотек. В XML-документах хранят различного рода информацию, которая может быть критичной для функционирования системы. Хранение подобной информации на диске в виде простых файлов опасно и неэффективно, поэтому использование СУБД для управления XML-документами представляется вполне логичным.
Более всего для хранения XML-документа в БД подходит тип clob (character large object). Этот тип в SQL Server называется text (ntext – для юникодных символов). Однако XML – это не просто текст, а формат разметки и хранения данных, и логично было бы работать с ним как со структурированными данными, а не как с простым текстом. К сожалению, до сих пор SQL Server не позволял этого. Например, чтобы выбрать определенный узел XML-документа с помощью XPath, этот документ придется перенести на middle tier, потому что SQL Server не содержит XML-процессоров, способных выполнять подобные операции. А что, если необходимо использовать результаты обработки XML-документа в SQL-запросе? XML должен быть отправлен обратно и преобразован в скалярные величины или в реляционные данные (функция OPENXML в SQL Server-е).
Иерархическую информацию можно представить с помощью реляционной модели [18]. Однако о простоте при этом приходится забыть. Почему? Дело в том, что в SQL просто нет механизмов выборки иерархической информации. Различные серверы для осуществления подобной выборки предоставляют разнообразные расширения SQL. Например, в Oracle есть расширение connect by. В SQL Server 2005 появятся общие табличные выражения (common table expressions), которые могут выполняться рекурсивно.
Для решения описанных выше проблем в SQL Server будет добавлен новый тип данных – XML. В Oracle аналогичный тип появился сравнительно давно, в SQL Server-е – только-только. Что дает его появление? Это позволяет перенести обработку XML-документов в сервер БД. Теперь с помощью встроенного XML-процессора можно выполнять запросы XPath и XQuery. Кроме выполнения запросов предоставляется поддержка механизма изменения XML-документов, а также проверки их на допустимость. Теперь при работе с XML можно использовать все преимущества SQL Server, например, транзакции.
Теперь у пользователей есть возможность извлечения XML-документов прямо из SQL Server непосредственно с помощью браузера. Отпадает необходимость в использовании отдельного Web-сервера и дополнительного ПО (типа SQLXML), служащего для связи между SQL Server и Web-сервером.
Что ж, давайте поближе ознакомимся с этими возможностями.
