SQLXMLOLEDB プロバイダーは、ActiveX データ オブジェクト (ADO) を介して Microsoft SQLXML 機能を公開する OLE DB プロバイダーです。 ただし、プロバイダーは、ADO の "出力ストリームへの書き込み" モードでのみコマンドを実行できます。 SQLXMLOLEDB プロバイダーは行セット プロバイダーではありません。 コマンドを実行するときは、指定した出力ストリームを使用するように ADO に指示する adExecuteStream フラグを指定する必要があります。
次の例は、adExecuteStream フラグが指定されている Execute コマンドの構文を示しています。
Dim oTestCommand As New ADODB.Command
...
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Execute , , adExecuteStream
...
SQLXMLOLEDB プロバイダー固有のプロパティ
SQLXMLOLEDB プロバイダーは、次のプロバイダー固有の接続プロパティを公開します。
| 接続 資産 |
既定値 (ある場合) |
説明 |
|---|---|---|
| データ プロバイダー | SQLXMLOLEDB がコマンドを実行する OLE DB プロバイダーの PROGID を提供します。 SQLXML 4.0 および SQL Server 2005 以降では、このプロバイダーは SQL Server Native Client に含まれています。そのため、このプロパティ値は "SQLNCLI11" に制限されます。 詳細については、「 SQL Server Native Client Programming」を参照してください。 |
SQLXMLOLEDB プロバイダーは、次のプロバイダー固有のコマンド プロパティを公開します。
| コマンド 資産 |
既定値 (ある場合) |
説明 |
|---|---|---|
| ベース パス | "" | ベース ファイルのパスを指定します。 ベース ファイル パスは、XML スタイルシート言語 (XSL) またはマッピング スキーマ ファイルの場所を指定するために使用されます。 ベース ファイル パスは、XSL プロパティまたはマッピング スキーマ プロパティで指定されている XSL またはマッピング スキーマ ファイルの相対パスを解決するためにも使用されます。 このプロパティを使用する例については、「 XPath クエリの実行 (SQLXMLOLEDB プロバイダー)」を参照してください。 |
| ClientSideXML | いいえ | サーバーではなくクライアントで行セットを XML に変換するプロセスを実行する場合は、このプロパティを True に設定します。 これは、パフォーマンス負荷を中間層に移動する場合に便利です。 このプロパティを使用する例については、 SQL クエリの実行 (SQLXMLOLEDB プロバイダー) または SQL クエリ を 含むテンプレートの実行 (SQLXMLOLEDB プロバイダー) を参照してください。 |
| コンテンツ タイプ | 出力コンテンツ タイプを返します。 これは READ ONLY プロパティです。 このプロパティは、コンテンツ タイプ (TEXT/XML、TEXT/HTML、image/jpeg など) に関する情報をブラウザーに提供します。 このプロパティの値は、HTTP ヘッダーの一部としてブラウザーに送信される コンテンツ タイプ フィールドになり、本文として送信されるドキュメントの MIME タイプ (多目的インターネット メール拡張機能) が含まれます。 |
|
| マッピング スキーマ | ヌル | クライアント アプリケーションがマッピング スキーマ (XDR または XSD) に対して XPath クエリを実行する場合、このプロパティを使用してマッピング スキーマの名前を指定します。 指定するパスには、相対パス (xyz/abc/MySchema.xml) または絶対パス (C:\MyFolder\abc\MySchema.xml) を指定できます。 相対パスが指定されている場合、相対パスの解決には、Base Path プロパティで指定された基本パスが使用されます。 [基本パス] プロパティにパスが指定されていない場合、相対パスは現在のディレクトリに対する相対パスになります。 Mapping Schema プロパティの値を指定する際に、ローカル ディレクトリ パスまたは URL (http://...) を指定できます。URL を指定する場合は、プロキシ サーバーを介して HTTP サーバーと HTTPS サーバーにアクセスするように WinHTTP を構成する必要があります。 これを行うには、Proxycfg.exe ユーティリティを実行します。 詳細については、MSDN ライブラリの「WinHTTP プロキシ構成ユーティリティの使用」を参照してください。 このプロパティを使用する例については、「 XPath クエリの実行 (SQLXMLOLEDB プロバイダー)」を参照してください。 |
| 名前空間 | このプロパティを使用すると、名前空間を使用する XPath クエリを実行できます。 このプロパティを使用する例については、「 名前空間を使用した XPath クエリの実行 (SQLXMLOLEDB プロバイダー)」を参照してください。 | |
| ss ストリーム フラグ | このプロパティは、特定の種類のセキュリティ制限を指定するために使用されます。 たとえば、ファイルへの 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 ドキュメントに単一のルート要素がない場合、プロパティの値を使用して 1 つのルート要素がドキュメントに追加されます。 このプロパティを使用する例については、「 SQL クエリの実行 (SQLXMLOLEDB プロバイダー)」を参照してください。 |
|
| xsl | このプロパティは、クエリによって返される XML ドキュメントに XSL 変換を適用する場合に、XSL ファイル名を指定するために使用されます。 指定するパスは、相対パス (xyz/abc/MyXSL.xsl) または絶対パス (C:\MyFolder\abc\MyXSL.xsl) です。 相対パスが指定されている場合、相対パスの解決には、Base Path プロパティで指定された基本パスが使用されます。 [基本パス] プロパティにパスが指定されていない場合、相対パスは現在のディレクトリに対する相対パスになります。 このプロパティを使用する例については、「XSL 変換の適用 (SQLXMLOLEDB プロバイダー)」を参照してください。 |
次の表に、ss Stream Flags プロパティ値の説明を示します。
| プロパティ値 | 説明 |
|---|---|
| STREAM_FLAGS_DISALLOW_URL | URL は、マッピング スキーマまたは XSL には使用できません。 |
| STREAM_FLAGS_DISALLOW_ABSOLTE_PATH | マッピング スキーマまたは XSL に指定するパスは、テンプレート自体の基本パスを基準とする必要があります。 |
| STREAM_FLAGS_DISALLOW_QUERY | テンプレートではクエリを使用できません。 |
| STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA | マッピング スキーマはキャッシュされません。 このプロパティ値は、データベース スキーマが変更されるデータベース開発フェーズで役立ちます。 |
| STREAM_FLAGS_DONTCACHETEMPLATE | テンプレートはキャッシュされません。 |
| STREAM_FLAGS_DONTCACHEXSL | XSL はキャッシュされません。 |