SQL Server Native Client を使用する場合

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

重要

SQL Server Native Client (SNAC と略されることがよくあります) は、SQL Server 2022 (16.x) と SQL Server Management Studio 19 (SSMS) から削除されました。 SQL Server Native Client (SQLNCLI または SQLNCLI11) とレガシ Microsoft OLE DB Provider for SQL Server (SQLOLEDB) は、新しいアプリケーション開発には推奨されません。 今後、新しい Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server または最新の Microsoft ODBC Driver for SQL Server に切り替えてください。 SQL Server データベース エンジン (バージョン 2012 から 2019) のコンポーネントとして付属する SQLNCLI については、このサポート ライフサイクルの例外を参照してください。

SQL Server Native Clientは、SQL Server データベース内のデータにアクセスするために使用できるテクノロジの 1 つです。 各種データ アクセス テクノロジの詳細については、「データ アクセス テクノロジのロードマップ」を参照してください。

アプリケーションのデータ アクセス テクノロジとしてSQL Server Native Clientを使用するかどうかを決定するときは、いくつかの要因を考慮する必要があります。

新しいアプリケーションで、Microsoft Visual C# や Visual Basic などのマネージド プログラミング言語を使用しており、SQL Server の新機能にアクセスする必要がある場合は、.NET Framework に含まれている .NET Framework Data Provider for SQL Server を使用する必要があります。

COM ベースのアプリケーションを開発していて、SQL Serverで導入された新機能にアクセスする必要がある場合は、SQL Server Native Clientを使用する必要があります。 SQL Server の新機能にアクセスする必要がない場合は、引き続き Windows Data Access Components (WDAC) を使用できます。

既存の OLE DB および ODBC アプリケーションの場合、主な問題は、SQL Serverの新機能にアクセスする必要があるかどうかです。 アプリケーションが既に完成していて、SQL Server の新機能を必要としない場合は、引き続き WDAC を使用できます。 ただし、xml データ型などの新しい機能にアクセスする必要がある場合は、SQL Server Native Clientを使用する必要があります。

SQL Server Native Clientと MDAC の両方で、行のバージョン管理を使用した読み取りコミット済みトランザクション分離がサポートされますが、スナップショットトランザクション分離をサポートするのはSQL Server Native Clientのみです。 (プログラミング用語では、"行のバージョン管理機能を使用した Read Committed トランザクション分離" は "Read Committed トランザクション" と同義です)。

SQL Server Native Clientと MDAC の違いの詳細については、「アプリケーションを MDAC からSQL Server Native Clientに更新する」を参照してください。

参照

SQL Server Native Client プログラミング
ODBC の使用法に関するトピック
OLE DB の使用法に関するトピック