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 una secuencia de salida" de ADO. El proveedor SQLXMLOLEDB no es un proveedor de conjunto de filas. Al ejecutar un comando, debe especificarse el marcador adExecuteStream, que indica a ADO que use la secuencia de salida especificada. 

En el ejemplo siguiente se muestra la sintaxis del comando Execute en el que se especifica el marcador 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.

Propiedad de

conexión

Valor predeterminado

(si existe)

Descripción

Data Provider

 

Proporciona el PROGID del proveedor OLE DB a través del que SQLXMLOLEDB ejecuta los comandos. A partir de SQLXML 4.0 y SQL Server 2005, este proveedor se incluye con SQL Server Native Client; por lo tanto, este valor de propiedad se restringe a "SQLNCLI10". Para obtener más información, vea Programación de SQL Server 2008 Native Client.

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

Propiedad de

comando

Valor predeterminado

(si existe)

Descripción

Base Path

""

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 hojas de estilo XML (XSL) o de 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 de archivos de esquema de asignación especificadas en las propiedades XSLMapping Schema.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecutar consultas XPath (proveedor SQLXMLOLEDB).

ClientSideXML

False

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 de gran utilidad si 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).

Content Type

 

Devuelve el tipo de contenido de salida. Esta propiedad es de solo lectura (READ ONLY).

Esta propiedad proporciona información al explorador acerca del tipo de contenido (como TEXT/XML, TEXT/HTML, imagen/jpeg, etc.). El valor de esta propiedad se convierte en el campo content-type, que se envía al explorador como parte del encabezado HTTP, que contiene el tipo MIME (Extensiones multipropósito de correo Internet) del documento que se envía como cuerpo.

Mapping Schema

NULL

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:\miCarpeta\abc\MySchema.xml).

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

Si desea especificar un valor para la propiedad Mapping Schema, puede especificar una ruta de acceso al directorio local o una dirección URL (http://...). Si especifica una dirección URL, debe configurar WinHTTP para obtener acceso a los servidores HTTP y HTTPS a través de un servidor proxy. Puede hacerlo ejecutando la utilidad Proxycfg.exe. Para obtener más información, vea el tema sobre la forma de usar la utilidad de configuración del proxy WinHTTP en MSDN Library.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecutar consultas XPath (proveedor SQLXMLOLEDB).

namespaces

 

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 Ejecutar consultas XPath con espacios de nombres (proveedor SQLXMLOLEDB).

ss Stream Flags

 

Esta propiedad se usa para especificar tipos determinados 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, puede que no desee permitir consultas en las plantillas.

La propiedad puede asignarse a 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 siguiente tabla se proporciona información adicional acerca de estos valores.

xml root

 

Esta propiedad se usa para definir una etiqueta raíz para el código XML resultante. Por ejemplo, si ejecuta consultas SQL en la base de datos y el documento XML resultante no tiene un único elemento raíz, el valor de la propiedad se usa para agregar un elemento raíz único al documento.

Para obtener un ejemplo en el que se usa esta propiedad, vea Ejecutar consultas SQL (proveedor SQLXMLOLEDB).

xsl

 

Esta propiedad se usa para especificar el nombre del archivo XSL cuando se desea aplicar una 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:\miCarpeta\abc\MyXSL.xsl).

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

Para obtener un ejemplo en el que se usa esta propiedad, vea Applying an XSL Transformation (SQLXMLOLEDB Provider).

La tabla siguiente contiene descripciones de los valores de propiedad ss Stream Flags.

Valor de propiedad

Descripción

STREAM_FLAGS_DISALLOW_URL

No se aceptan direcciones URL en esquemas de asignación o 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 la memoria caché. Este valor de propiedad resulta útil durante la fase de desarrollo de la base de datos, cuando los esquemas de la base de datos están sujetos a modificaciones.

STREAM_FLAGS_DONTCACHETEMPLATE

Las plantillas no se almacenan en la memoria caché.

STREAM_FLAGS_DONTCACHEXSL

XSL no se almacena en la memoria caché.