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é. |