次の方法で共有


SQLXMLOLEDB プロバイダの概要 (SQLXML 4.0)

SQLXMLOLEDB プロバイダは、ActiveX Data Objects (ADO) を介して Microsoft SQLXML 機能へのアクセスを提供する OLE DB プロバイダです。ただし、このプロバイダでは、ADO の "出力ストリームへの書き込み" モードでのみコマンドを実行できます。SQLXMLOLEDB プロバイダは行セット プロバイダではありません。コマンドを実行するときには、adExecuteStream フラグを指定する必要があります。これによって、ADO では指定した出力ストリームが使用されます。

次の例では、Execute コマンドに対して adExecuteStream フラグを指定した構文を示します。

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

SQLXMLOLEDB プロバイダ固有のプロパティ

SQLXMLOLEDB プロバイダでは、次のプロバイダ固有の接続プロパティへのアクセスが提供されます。

接続 プロパティ 既定値 (ある場合) 説明

Data Provider

 

OLE DB プロバイダの PROGID を提供します。SQLXMLOLEDB ではこれを介してコマンドが実行されます。SQLXML 4.0 および SQL Server 2005 の場合、このプロバイダは SQL Native Client 内に含まれているため、このプロパティ値は "SQLNCLI" に制限されます。詳細については、「SQL Native Client のプログラミング」を参照してください。

SQLXMLOLEDB プロバイダでは、次のプロバイダ固有のコマンド プロパティへのアクセスが提供されます。

コマンド プロパティ 既定値 (ある場合) 説明

Base Path

""

基本ファイル パスを指定します。基本ファイル パスは、XML Stylesheet Language (XSL) の場所またはマッピング スキーマ ファイルを指定するときに使用します。また、XSL または Mapping Schema プロパティに指定されている XSL またはマッピング スキーマ ファイルの相対パスを解決するときにも使用します。

このプロパティが使用される例については、「XPath クエリの実行 (SQLXMLOLEDB プロバイダ)」を参照してください。

ClientSideXML

False

行セットを XML に変換する処理をサーバーではなくクライアントで行う場合は、このプロパティを True に設定します。これはパフォーマンスの負荷を中間層に移す場合に便利です。

このプロパティが使用される例については、「SQL クエリの実行 (SQLXMLOLEDB プロバイダ)」または「SQL クエリを含むテンプレートの実行 (SQLXMLOLEDB プロバイダ)」を参照してください。

Content Type

 

出力コンテンツの種類を返します。これは READ ONLY プロパティです。

このプロパティは、コンテンツの種類 (TEXT/XML、TEXT/HTML、image/jpeg など) に関する情報をブラウザに提供します。このプロパティの値は、content-type フィールドとして HTTP ヘッダーに含められ、ブラウザに送信されます。これには、本文として送信されるドキュメントの MIME (Multipurpose Internet Mail Extensions) の種類が含まれます。

Mapping Schema

NULL

クライアント アプリケーションでマッピング スキーマ (XDR または XSD) に対して XPath クエリを実行する場合、このプロパティを使用してマッピング スキーマの名前を指定します。

パスは相対 (xyz/abc/MySchema.xml) または絶対 (C:\MyFolder\abc\MySchema.xml) パスで指定できます。

相対パスを指定した場合は、パスの解決に、Base Path プロパティで指定される基本パスが使用されます。Base Path プロパティでパスが指定されていない場合は、現在のディレクトリに対する相対パスとして扱われます。

Mapping Schema プロパティに値を指定するときには、ローカル ディレクトリ パスまたは URL (http://...) を指定できます。URL を指定する場合は、プロキシ サーバーを介して HTTP および HTTPS サーバーにアクセスするよう、WinHTTP を構成する必要があります。これには、Proxycfg.exe ユーティリティを実行します。詳細については、MSDN ライブラリの「Using the WinHTTP Proxy Configuration Utility」(英語) を参照してください。

このプロパティが使用される例については、「XPath クエリの実行 (SQLXMLOLEDB プロバイダ)」を参照してください。

namespaces

 

名前空間を使用する XPath クエリを実行できるようにします。このプロパティが使用される例については、「名前空間を使用した、XPath クエリの実行 (SQLXMLOLEDB Provider)」を参照してください。

ss Stream Flags

 

特定の種類のセキュリティ制限を指定するときに使用します。たとえば、外部サイトなどで、ファイルへの 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

 

クエリで返された XML ドキュメントに XSL 変換を適用する場合に、XSL ファイルを指定するときに使用します。

パスは相対 (xyz/abc/MyXSL.xsl) または絶対 (C:\MyFolder\abc\MyXSL.xsl) パスで指定できます。

相対パスを指定した場合は、パスの解決に、Base Path プロパティで指定される基本パスが使用されます。Base Path プロパティでパスが指定されていない場合は、現在のディレクトリに対する相対パスとして扱われます。

このプロパティが使用される例については、「Applying an XSL Transformation (SQLXMLOLEDB Provider)」を参照してください。

次の表は、ss Stream Flags プロパティ値の説明です。

プロパティ値 説明

STREAM_FLAGS_DISALLOW_URL

マッピング スキーマまたは XSL に URL は指定できません。

STREAM_FLAGS_DISALLOW_ABSOLTE_PATH

マッピング スキーマまたは XSL に指定するパスは、テンプレート自身の基本パスに対して相対的である必要があります。

STREAM_FLAGS_DISALLOW_QUERY

テンプレートでクエリは許可されません。

STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA

マッピング スキーマはキャッシュされません。このプロパティ値は、データベースが開発段階で、データベース スキーマが変更される可能性のあるときに便利です。

STREAM_FLAGS_DONTCACHETEMPLATE

テンプレートはキャッシュされません。

STREAM_FLAGS_DONTCACHEXSL

XSL はキャッシュされません。