Введение в поставщик SQLXMLOLEDB (SQLXML 4.0)
Поставщик SQLXMLOLEDB — это поставщик OLE DB, который предоставляет функциональность Microsoft SQLXML через объекты ADO. Однако этот поставщик может выполнять команды только в режиме ADO «запись в выходящий поток». Поставщик SQLXMLOLEDB не является поставщиком набора строк. При выполнении команды необходимо задавать флаг adExecuteStream, который указывает объектам ADO использовать выходящий поток, который был задан.
В следующем примере приведен синтаксис для команды Execute, в котором задан флаг adExecuteStream:
Dim oTestCommand As New ADODB.Command...oTestCommand.Properties("Output Stream").Value = oTestStreamoTestCommand.Execute , , adExecuteStream...
Свойства поставщика SQLXMLOLEDB
Поставщик SQLXMLOLEDB имеет следующие характерные для него свойства соединения.
Connection свойство |
По умолчанию (если есть) |
Описание |
|---|---|---|
Data Provider |
|
Предоставляет идентификатор PROGID поставщика OLE DB, через который SQLXMLOLEDB выполняет команды. Начиная с SQLXML 4.0 и SQL Server 2005, этот поставщик является частью собственного клиента SQL Server; поэтому значение этого свойства может быть только «SQLNCLI10». Дополнительные сведения см. в разделе Программирование с помощью собственного клиента SQL Server 2008 R2. |
Поставщик SQLXMLOLEDB имеет следующие характерные для него свойства команды.
Command свойство |
По умолчанию (если есть) |
Описание |
|---|---|---|
Base Path |
"" |
Указывает базовый путь к файлу. Базовый путь к файлу используется для указания местоположения файлов языка XSL или схемы сопоставления. Базовый путь файла также используется для разрешения путей файлов XSL или схемы сопоставления, которые были указаны в свойстве XSL или Mapping Schema. Пример использования этого свойства см. в разделе Выполнение запросов XPath (поставщик SQLXMLOLEDB). |
ClientSideXML |
False |
Если требуется, чтобы процесс преобразования набора строк в XML был выполнен на клиенте, а не на сервере, установите этому свойству значение TRUE. Это полезно, когда необходимо переместить нагрузку производительности на средний уровень. Пример использования этого свойства см. в разделе Выполнение запросов SQL (поставщик SQLXMLOLEDB) или Выполнение шаблонов, содержащих SQL-запросы (поставщик SQLXMLOLEDB). |
Content Type |
|
Возвращает тип выходящего содержимого. Это свойство доступно только для чтения. Это свойство предоставляет обозревателю сведения о типе содержимого (например, ТЕКСТ/XML, ТЕКСТ/HTML, изображение/jpeg и так далее). Значение этого свойства становится полем content-type, которое отправляется обозревателю, как часть заголовка HTTP, содержащего MIME-тип документа, который отправляется в качестве тела. |
Mapping Schema |
NULL |
Когда клиентское приложение выполняет запрос XPath к схеме сопоставления (XDR или XSD), это свойство используется для указания имени схемы сопоставления. Указываемый путь может быть относительным (xyz/abc/МояСхема.xml) или абсолютным (C:\МояПапка\abc\МояСхема.xml). Если задан относительный путь, то для определения относительного пути используется базовый путь, который определяет свойство Base Path. Если в свойстве Base Path не задан путь, то относительный путь определяется относительно текущего каталога. При указании значения для свойства Mapping Schema можно ввести путь к локальному каталогу или URL-адрес (http://...). В случае указания URL-адреса необходимо настроить модуль WinHTTP для доступа к серверам HTTP и HTTPS через прокси-сервер. Сделать это можно при помощи программы Proxycfg.exe. Дополнительные сведения см. в статье «Использование программы настройки доступа модуля WinHTTP через прокси-сервер» в библиотеке MSDN. Пример использования этого свойства см. в разделе Выполнение запросов XPath (поставщик SQLXMLOLEDB). |
пространства имен |
|
Это свойство включает использование запросов XPath, которые используют пространства имен. Пример использования этого свойства см. в разделе Выполнение запросов XPath с пространствами имен (поставщик SQLXMLOLEDB). |
Флаги ss Stream |
|
Это свойство используется для указания конкретных типов ограничений безопасности. Например, может потребоваться запретить URL-ссылки на файлы или абсолютные пути к файлам (например, внешние веб-узлы). Либо может потребоваться запретить запросы в шаблонах. Свойству могут быть присвоены следующие значения: 1 = STREAM_FLAGS_DISALLOW_URL 2 = STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 4 = STREAM_FLAGS_DISALLOW_QUERY 8 = STREAM_FLAGS_ DONTCACHEMAPPINGSCHEMA 16 = STREAM_FLAGS_DONTCACHETEMPLATE 32 = STREAM_FLAGS_DONTCACHEXSL Дополнительные сведения об этих значениях приведены в следующей таблице. |
xml root |
|
Это свойство используется для определения корневого тега для итогового XML. Например, в случае выполнения запросов SQL к базе данных и отсутствия в итоговом документе XML одного корневого элемента, значение этого свойства используется для добавления одного корневого элемента в документ. Пример использования этого свойства см. в разделе Выполнение запросов SQL (поставщик SQLXMLOLEDB). |
xsl |
|
Это свойство используется для указания имени файла XSL, когда требуется применить трансформацию XSL к XML-документу, возвращенному запросом. Указываемый путь может быть относительным (xyz/abc/МойXSL.xsl) или абсолютным (C:\МояПапка\abc\МойXSL.xsl). Если задан относительный путь, то для определения относительного пути используется базовый путь, который определяет свойство Base Path. Если в свойстве Base Path не задан путь, то относительный путь определяется относительно текущего каталога. Пример использования этого свойства см. в разделе Applying an XSL Transformation (SQLXMLOLEDB Provider). |
Следующая таблица содержит описания значений свойства ss Stream Flags.
Значение свойства |
Описание |
|---|---|
STREAM_FLAGS_DISALLOW_URL |
URL-адреса не принимаются для схем сопоставления или XSL. |
STREAM_FLAGS_DISALLOW_ABSOLTE_PATH |
Путь, указываемый для схемы сопоставления или XSL, должен задаваться относительно базового пути самого шаблона. |
STREAM_FLAGS_DISALLOW_QUERY |
Запросы недопустимы в шаблоне. |
STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA |
Схема сопоставления не кэшируется. Значение этого свойства полезно на стадии разработки базы данных, когда схемы базы данных часто изменяются. |
STREAM_FLAGS_DONTCACHETEMPLATE |
Шаблоны не кэшируются. |
STREAM_FLAGS_DONTCACHEXSL |
XSL не кэшируется. |