クライアント側とサーバー側の XML 書式設定のアーキテクチャ (SQLXML 4.0)
適用対象: SQL Server Azure SQL データベース
次の図は、サーバー側の XML 書式設定のアーキテクチャです。
この例では、クライアント側で指定されたコマンドがサーバーに送信されます。 サーバーでは XML ドキュメントが生成され、それがクライアントに返されます。 この場合、サーバーには Microsoft SQL Server のインスタンスがあります。 サーバー側の XML 書式設定では、SQLXMLOLEDB プロバイダーまたは SQLOLEDB プロバイダーのいずれかを使用できます。 SQLXMLOLEDB プロバイダーでは Sqlxml4.dll が使用されますが、これは SQLXML 4.0 に含まれています。 SQLOLEDB プロバイダーを使用すると、既定では、microsoft Windows または Microsoft Data Access Components (MDAC) 2.6 以降に含まれる、Sqlxmlx.dllによって提供される SQLXML 機能が取得されます。 SQLOLEDB でSqlxml4.dllを使用するには、SQLOLEDB 接続オブジェクトで SQLXML Version プロパティを "SQLXML.4.0" に設定する必要があります。 いずれの場合も、サーバーでは XML ドキュメントが生成され、それがクライアントに送信されます。
Note
XPath クエリとアップデートグラムはクライアントで解析されます。 SQLXML 4.0 の XPath テンプレートまたはアップデートグラム機能を使用するには、Sqlxml4.dll を使用します。
次の図は、クライアント側の XML 書式設定のアーキテクチャです。
この例では、クライアントで SQLXMLOLEDB プロバイダーが使用されます。 接続文字列では、データ プロバイダー プロパティを SQLOLEDB に設定する必要があります。 (これは SQLXML 4.0 で受け入れられる唯一の値です)。クライアントで実行されるコマンドがサーバーに送信されます。 サーバーで生成された行セットがクライアントに送信されます。 クライアントでは、行セットから XML ドキュメントの書式が設定されます。
SQLXML 4.0 では、SQL Server Native Client (SQLNCLI11) または SQLOLEDB プロバイダーをデータ プロバイダーとして使用できます。 これらのプロバイダーでは、どのデータ ソースにもアクセスできます。 クエリで単一の行セットが返される限り、XML 変換はクライアント側で適用できます。
重要
SQL Server Native Client (SNAC) は同梱されていません。
- SQL Server 2022 (16.x) 以降のバージョン
- SQL Server Management Studio (19 以降のバージョン) の場合
SQL Server Native Client (SQLNCLI または SQLNCLI11) とレガシ Microsoft OLE DB Provider for SQL Server (SQLOLEDB) は、新しいアプリケーション開発には推奨されません。
新しいプロジェクトの場合は、次のいずれかのドライバーを使用します。
SQL Server データベース エンジン (バージョン 2012 から 2019) のコンポーネントとして付属する SQLNCLI については、この「サポート ライフサイクルの例外」を参照してください。