Compartir a través de


Introducción al proveedor SQLXMLOLEDB (SQLXML 4.0)

El proveedor SQLXMLOLEDB es un proveedor OLE DB que expone la funcionalidad de Microsoft SQLXML a través de Objetos de datos ActiveX (ADO). Sin embargo, el proveedor solo puede ejecutar comandos en el modo "escribir en un flujo de salida" de ADO. El proveedor SQLXMLOLEDB no es un proveedor de conjuntos de filas. Al ejecutar un comando, debe especificar la marca adExecuteStream, que dirige ADO para que use el flujo de salida especificado.

En el ejemplo siguiente se muestra la sintaxis del comando Execute en el que se especifica la marca adExecuteStream:

Dim oTestCommand As New ADODB.Command  
...  
oTestCommand.Properties("Output Stream").Value = oTestStream  
oTestCommand.Execute , , adExecuteStream  
...  

Propiedades específicas del proveedor SQLXMLOLEDB

El proveedor SQLXMLOLEDB expone la siguiente propiedad de conexión específica del proveedor.

Conexión

propiedad
Predeterminado

(si existe)
Descripción
Proveedor de datos Proporciona el PROGID del proveedor OLE DB a través del cual SQLXMLOLEDB ejecuta los comandos. A partir de SQLXML 4.0 y SQL Server 2005, este proveedor está incluido en SQL Server Native Client; por lo tanto, este valor de propiedad está restringido a "SQLNCLI11". Para obtener más información, vea Programación de SQL Server Native Client.

El proveedor SQLXMLOLEDB expone las siguientes propiedades de comando específicas del proveedor.

Comando

propiedad
Predeterminado

(si existe)
Descripción
Ruta de acceso base "" Especifica la ruta de acceso del archivo base. La ruta de acceso del archivo base se usa para especificar la ubicación del lenguaje de hoja de estilos XML (XSL) o los archivos de esquema de asignación. La ruta de acceso del archivo base también se usa para resolver las rutas de acceso relativas de XSL o los archivos de esquema de asignación especificados en las propiedades XSL o Mapping Schema.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecución de consultas XPath (proveedor SQLXMLOLEDB).
ClientSideXML Falso Establezca esta propiedad en True si desea que el proceso de conversión del conjunto de filas a XML se produzca en el cliente en lugar de en el servidor. Esto resulta útil cuando desea mover la carga de rendimiento al nivel intermedio.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecutar consultas SQL (proveedor SQLXMLOLEDB) o Ejecutar plantillas que contienen consultas SQL (proveedor SQLXMLOLEDB).
Tipo de contenido Devuelve el tipo de contenido de salida. Se trata de una propiedad READ ONLY.

Esta propiedad proporciona información al explorador sobre el tipo de contenido (como TEXT/XML, TEXT/HTML, image/jpeg, etc.). El valor de esta propiedad se convierte en el campo de tipo de contenido que se envía al explorador como parte del encabezado HTTP, que contiene el tipo MIME (Extensiones multipropósito de correo de Internet) del documento que se envía como cuerpo.
Esquema de asignación NULO Si una aplicación cliente ejecuta una consulta XPath en un esquema de asignación (XDR o XSD), esta propiedad se usa para especificar el nombre del esquema de asignación.

La ruta de acceso especificada puede ser relativa (xyz/abc/MySchema.xml) o absoluta (C:\MyFolder\abc\MySchema.xml).

Si se especifica una ruta de acceso relativa, la ruta de acceso base especificada por la propiedad Ruta de acceso base se usa para resolver la ruta de acceso relativa. Si no se ha especificado ninguna ruta de acceso en la propiedad Ruta de acceso base, la ruta de acceso relativa es relativa al directorio actual.

Al especificar un valor para la propiedad Esquema de asignación, puede especificar una ruta de acceso de directorio local o una dirección URL (http://...). Si especifica una dirección URL, debe configurar WinHTTP para acceder a los servidores HTTP y HTTPS a través de un servidor proxy. Para ello, ejecute la utilidad Proxycfg.exe. Para obtener más información, vea "Usar la utilidad de configuración de proxy WinHTTP" en MSDN Library.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecución de consultas XPath (proveedor SQLXMLOLEDB).
espacios de nombres Esta propiedad habilita la ejecución de consultas XPath que usan espacios de nombres. Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecución de consultas XPath con espacios de nombres (proveedor SQLXMLOLEDB).
Marcas de flujo de ss Esta propiedad se usa para especificar determinados tipos de restricciones de seguridad. Por ejemplo, es posible que no desee permitir referencias url a archivos o rutas de acceso absolutas a archivos (como sitios externos). O bien, es posible que no quiera permitir consultas en las plantillas.

A la propiedad se le pueden asignar estos valores:

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

En la tabla siguiente se proporciona información adicional sobre estos valores.
raíz xml Esta propiedad se usa para definir una etiqueta raíz para el XML resultante. Por ejemplo, si ejecuta consultas SQL en la base de datos y el documento XML resultante no tiene ningún elemento raíz único, el valor de la propiedad se usa para agregar un único elemento raíz al documento.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecución de consultas SQL (proveedor SQLXMLOLEDB).
xsl Esta propiedad se usa para especificar el nombre de archivo XSL cuando desea aplicar la transformación XSL al documento XML devuelto por la consulta.

La ruta de acceso especificada puede ser relativa (xyz/abc/MyXSL.xsl) o absoluta (C:\MyFolder\abc\MyXSL.xsl).

Si se especifica una ruta de acceso relativa, la ruta de acceso base especificada por la propiedad Ruta de acceso base se usa para resolver la ruta de acceso relativa. Si no se ha especificado ninguna ruta de acceso en la propiedad Ruta de acceso base, la ruta de acceso relativa es relativa al directorio actual.

Para obtener un ejemplo en el que se usa esta propiedad, vea Aplicación de una transformación XSL (proveedor SQLXMLOLEDB).

La tabla siguiente contiene descripciones de los valores de propiedad de marcas de flujo ss.

Valor de propiedad Descripción
STREAM_FLAGS_DISALLOW_URL Las direcciones URL no se aceptan para los esquemas de asignación ni XSL.
STREAM_FLAGS_DISALLOW_ABSOLTE_PATH Una ruta de acceso especificada para un esquema de asignación o para XSL debe ser relativa a la ruta de acceso base de la propia plantilla.
STREAM_FLAGS_DISALLOW_QUERY No se permiten consultas en una plantilla.
STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA El esquema de asignación no se almacena en caché. Este valor de propiedad es útil durante la fase de desarrollo de la base de datos, cuando los esquemas de base de datos están sujetos a modificaciones.
STREAM_FLAGS_DONTCACHETEMPLATE Las plantillas no se almacenan en caché.
STREAM_FLAGS_DONTCACHEXSL XSL no está almacenado en caché.