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 Server Native Client 内に含まれているため、このプロパティ値は "SQLNCLI11" に制限されます。 詳細については、「SQL Server 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 プロバイダー)」を参照してください。 |
名前空間 |
|
名前空間を使用する 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 はキャッシュされません。 |