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 はキャッシュされません。 |