Partager via


Présentation du fournisseur SQLXMLOLEDB (SQLXML 4.0)

Le fournisseur SQLXMLOLEDB est un fournisseur OLE DB qui expose des fonctionnalités Microsoft SQLXML par l'intermédiaire d'objets ADO (ActiveX Data Objects). Toutefois, le fournisseur peut uniquement exécuter des commandes dans le mode « écriture dans un flux de sortie » de l'objet ADO. Le fournisseur SQLXMLOLEDB n'est pas un fournisseur d'ensembles de lignes. Lorsque vous exécutez une commande, vous devez spécifier l'indicateur adExecuteStream pour ordonner à l'objet ADO d'utiliser le flux de sortie que vous avez spécifié.

L'exemple suivant montre la syntaxe pour la commande Execute dans laquelle l'indicateur adExecuteStream est spécifié :

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

Propriétés spécifiques au fournisseur SQLXMLOLEDB

Le fournisseur SQLXMLOLEDB expose la propriété de connexion spécifique au fournisseur suivante.

Connexion

propriété

Valeur par défaut

(le cas échéant)

Description

Data Provider

 

Fournit l'identificateur PROGID du fournisseur OLE DB par l'intermédiaire duquel SQLXMLOLEDB exécute les commandes. À compter de SQLXML 4.0 et de SQL Server 2005, ce fournisseur est contenu dans SQL Server Native Client ; par conséquent, cette valeur de propriété est limitée à « SQLNCLI11 ». Pour plus d'informations, consultez Programmation de SQL Server Native Client.

Le fournisseur SQLXMLOLEDB expose les propriétés de commande spécifiques au fournisseur suivantes.

Commande

propriété

Par défaut

(le cas échéant)

Description

Base Path

""

Spécifie le chemin d'accès au fichier de base. Le chemin d'accès au fichier de base est utilisé pour spécifier l'emplacement des fichiers XSL (XML Stylesheet Language) ou de schéma de mappage. Le chemin d'accès au fichier de base est également utilisé pour résoudre les chemins d'accès relatifs aux fichiers XSL ou de schéma de mappage qui ont été spécifiés dans les propriétés XSL ou Mapping Schema.

Pour obtenir un exemple dans lequel cette propriété est utilisée, consultez Exécution de requêtes XPath (fournisseur SQLXMLOLEDB).

ClientSideXML

False

Attribuez la valeur True à cette propriété si vous souhaitez que le processus de conversion de l'ensemble de lignes en XML se produise sur le client et non sur le serveur. Cela s'avère utile si vous souhaitez déplacer la charge de performance vers le niveau intermédiaire.

Pour obtenir un exemple dans lequel cette propriété est utilisée, consultez Exécution de requêtes SQL (fournisseur SQLXMLOLEDB) ou Exécution de modèles contenant des requêtes SQL (fournisseur SQLXMLOLEDB).

Content Type

 

Retourne le type de contenu de sortie. Il s'agit d'une propriété READ ONLY.

Cette propriété fournit des informations au navigateur sur le type de contenu (telles que TEXT/XML, TEXT/HTML, image/jpeg et ainsi de suite). La valeur de cette propriété devient le champ content-type qui est envoyé au navigateur dans le cadre de l'en-tête HTTP et qui contient le type MIME (Multipurpose Internet Mail Extensions) du document envoyé comme corps.

Mapping Schema

NULL

Si une application cliente exécute une requête XPath sur un schéma de mappage (XDR ou XSD), cette propriété est utilisée pour spécifier le nom du schéma de mappage.

Le chemin d'accès spécifié peut être relatif (xyz/abc/MonSchéma.xml) ou absolu (C:\MonDossier\abc\MonSchéma.xml).

Si un chemin d'accès relatif est spécifié, le chemin d'accès de base spécifié par la propriété Base Path est utilisé pour résoudre le chemin d'accès relatif. Si aucun chemin d'accès n'a été spécifié dans la propriété Base Path, le chemin d'accès relatif est relatif au répertoire actif.

Pour spécifier une valeur pour la propriété Mapping Schema, vous pouvez spécifier un chemin d'accès au répertoire local ou une URL (http://...). Si vous spécifiez une URL, vous devez configurer WinHTTP de telle sorte qu'il puisse accéder aux serveurs HTTP et HTTPS par le biais d'un serveur proxy. Pour cela, vous pouvez exécuter l'utilitaire Proxycfg.exe. Pour plus d'informations, consultez l'article relatif à l'utilisation de l'utilitaire de configuration de l'utilitaire WinHTTP dans MSDN Library.

Pour obtenir un exemple dans lequel cette propriété est utilisée, consultez Exécution de requêtes XPath (fournisseur SQLXMLOLEDB).

namespaces

 

Cette propriété active l'exécution de requêtes XPath qui utilisent des espaces de noms. Pour obtenir un exemple dans lequel cette propriété est utilisée, consultez Exécution de requêtes XPath avec des espaces de noms (fournisseur SQLXMLOLEDB).

ss Stream Flags

 

Cette propriété est utilisée pour spécifier des types particuliers de restrictions de sécurité. Par exemple, vous souhaitez peut-être interdire les références URL à des fichiers ou les chemins d'accès absolus à des fichiers (tels que des sites externes). Ou vous souhaitez peut-être interdire les requêtes dans les modèles.

Ces valeurs peuvent être attribuées à la propriété :

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

Des informations supplémentaires sur ces valeurs sont fournies dans le tableau suivant.

xml root

 

Cette propriété est utilisée pour définir une balise racine pour le document XML résultant. Par exemple, si vous exécutez des requêtes SQL sur la base de données et que le document XML résultant ne comporte aucun élément racine unique, la valeur de la propriété est utilisée pour ajouter un élément racine unique au document.

Pour obtenir un exemple dans lequel cette propriété est utilisée, consultez Exécution de requêtes SQL (fournisseur SQLXMLOLEDB).

xsl

 

Cette propriété est utilisée pour spécifier le nom du fichier XSL lorsque vous souhaitez appliquer la transformation XSL au document XML retourné par la requête.

Le chemin d'accès spécifié peut être relatif (xyz/abc/MonFichierXSL.xsl) ou absolu (C:\MonDossier\abc\MonFichierXSL.xsl).

Si un chemin d'accès relatif est spécifié, le chemin d'accès de base spécifié par la propriété Base Path est utilisé pour résoudre le chemin d'accès relatif. Si aucun chemin d'accès n'a été spécifié dans la propriété Base Path, le chemin d'accès relatif est relatif au répertoire actif.

Pour obtenir un exemple dans lequel cette propriété est utilisée, consultez Applying an XSL Transformation (SQLXMLOLEDB Provider).

Le tableau suivant contient les descriptions des valeurs des propriétés ss Stream Flags.

Valeur de propriété

Description

STREAM_FLAGS_DISALLOW_URL

Les URL ne sont pas acceptées pour les fichiers de schéma de mappage ou XSL.

STREAM_FLAGS_DISALLOW_ABSOLTE_PATH

Un chemin d'accès spécifié pour un fichier de schéma de mappage ou XSL doit être relatif au chemin d'accès de base du modèle lui-même.

STREAM_FLAGS_DISALLOW_QUERY

Les requêtes ne sont pas autorisées dans un modèle.

STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA

Le schéma de mappage n'est pas mis en cache. Cette valeur de propriété est utile au cours de la phase de développement de la base de données, lorsque les schémas de base de données font l'objet de modifications.

STREAM_FLAGS_DONTCACHETEMPLATE

Les modèles ne sont pas mis en cache.

STREAM_FLAGS_DONTCACHEXSL

Le fichier XSL n'est pas mis en cache.