Использование XML совместно с SQL
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат образ жизни, вулканы доклад
Добавил(а) на сайт: Александрина.
Предыдущая страница реферата | 7 8 9 10 11 12 13 14 15 16 17 | Следующая страница реферата
OPENXML
Функция OPENXML является аналогом OPENROWSET, OPENDATASOURCE и OPENQUERY, которые позволяют выполнять запросы из удаленных источников. Вот ее синтаксис:
OPENXML(idoc int [in],rowpattern nvarchar[in],[flags byte[in]]) [WITH (SchemaDeclaration | TableName)] |
Аргументы:
idoc – хендл XML-документа, полученный при помощи хранимой процедуры sp_xml_preparedocument;
rowpattern – локализуемая группа XPath или, проще говоря, XPath-выражение;
flags – набор флагов, указывающих на то, как должны быть сопоставлены данные документа XML и реляционного набора строк;
ShemaDeclaration – определение полей реляционного набора строк в формате:
ColName ColType [ColPattern | MetaProperty] |
Где
ColName – имя поля.
ColType – тип поля. Допускаются все типы SQL Server.
ColPattern - локализуемая группа XPath для поля.
MetaProperty – метасвойство. Его мы рассматривать не будем.
XML-документ подготавливается с помощью хранимой процедуры sp_xml_preparedocument. Процедура использует анализатор MSXML для проверки документа на правильность и возвращает хендл документа. После завершения работы с OPENXML хендл нужно закрыть с помощью процедуры sp_xml_removedocument.
ПРИМЕЧАНИЕ sp_xml_preparedocument подготавливает XML-документ, представляя его в виде объектной модели DOM (Document Object Model). Если вы работаете с большими документами, это может вызвать некоторые проблемы. |
Как видно из синтаксиса, вы можете не указывать флаги и определения полей для реляционного набора строк. В этом случае SQL Server создаст внутреннее представление XML-документа в так называемом "edge table"-формате. Он практически не читаем, однако при большом желании его можно использовать. Описание этого формата выходит за рамки данной статьи, но в качестве доказательства того, что с ним можно работать, приведу пример. Пусть у нас имеется такой XML-документ:
<?xml version="1.0" encoding="windows-1251" ?> <rsdn> <forums date="09.01.03"> <forum name="WinAPI" totalposts="16688" description="Системное программирование"> <moderators/> Рекомендуем скачать другие рефераты по теме: права человека реферат, реферат влияние. Предыдущая страница реферата | 7 8 9 10 11 12 13 14 15 16 17 | Следующая страница реферата Поделитесь этой записью или добавьте в закладкиКатегории: |