SQL Server Native Client ヘッダー ファイルとライブラリ ファイルの使用

SQL Server Native Client ヘッダー ファイルとライブラリ ファイルは SQL Server と共にインストールされます。 アプリケーションを開発するときは、開発に必要なすべてのファイルを開発環境にコピーしてインストールすることが重要です。 SQL Server Native Client のインストールと再配布の詳細については、「SQL Server Native Client のインストール」を参照してください。

SQL Server Native Client ヘッダー ファイルとライブラリ ファイルは、次の場所にインストールされます。

%PROGRAM FILES%\Microsoft SQL Server\110\SDK

SQL Server Native Client ヘッダー ファイル (sqlncli.h) は、SQL Server Native Client データ アクセス機能をカスタム アプリケーションに追加するために使用できます。 SQL Server Native Client ヘッダー ファイルには、SQL Server 2005 で導入された新しい機能を使用するために必要なすべての定義、属性、プロパティ、およびインターフェイスが含まれています。

また、SQL Server Native Client ヘッダー ファイルだけでなく、sqlncli11.lib ライブラリ ファイルもあります。このライブラリ ファイルは、ODBC の SQL Server BCP (一括コピー プログラム) 機能のエクスポート ライブラリです。

SQL Server Native Client ヘッダー ファイルは、MDAC (Microsoft Data Access Components) と共に使用する sqloledb.h ヘッダー ファイルと odbcss.h ヘッダー ファイルの両方に対して下位互換性がありますが、SQLOLEDB (MDAC 付属の OLE DB provider for SQL Server) の CLSID や (SQL Server Native Client でサポートされない) XML 機能のシンボルは含まれていません。

ODBC アプリケーションでは、SQL Server Native Client ヘッダー ファイル (sqlncli.h) と odbcss.h を同一のプログラムから参照できません。 SQL Server 2005 で導入された機能を使用しない場合でも、SQL Server Native Client ヘッダー ファイルが以前の odbcss.h の代わりに機能します。

SQL Server Native Client OLE DB プロバイダーを使用する OLE DB アプリケーションは、sqlncli.h のみを参照する必要があります。 1 つのアプリケーションで MDAC (SQLOLEDB) と SQL Server Native Client OLE DB プロバイダーの両方を使用する場合、sqloledb.h と sqlncli.h の両方を参照できますが、sqloledb.h を先に参照する必要があります。

SQL Server Native Client ヘッダー ファイルの使用

SQL Server Native Client ヘッダー ファイルを使用するには、C/C++ プログラミング コードで include ステートメントを使用する必要があります。 次のセクションでは、OLE DB と ODBC の両方のアプリケーションでこの操作を行う方法について説明します。

注意

SQL Server Native Client ヘッダー ファイルとライブラリ ファイルは、Visual Studio C++ 2002 以降を使用しないとコンパイルできません。

OLE DB

OLE DB アプリケーションで SQL Server Native Client ヘッダー ファイルを使用するには、次のプログラミング コードを使用します。

#define _SQLNCLI_OLEDB_
include "sqlncli.h";
注意

アプリケーションで OLE DB と ODBC の両方の API を使用する場合は、上記の 1 行目のコードを省略する必要があります。 また、アプリケーションに sqloledb.h 用の include ステートメントがある場合は、そのステートメントの後に sqlncli.h 用の include ステートメントを指定する必要があります。

SQL Server Native Client によってデータ ソースに接続するときは、プロバイダー名文字列として "SQLNCLI11" を使用します。

ODBC

ODBC アプリケーションで SQL Server Native Client ヘッダー ファイルを使用するには、次のプログラミング コードを使用します。

#define _SQLNCLI_ODBC_
include "sqlncli.h";
注意

アプリケーションで OLE DB と ODBC の両方の API を使用する場合は、上記の 1 行目のコードを省略する必要があります。 また、アプリケーションに odbcss.h 用の #include ステートメントがある場合は、そのステートメントを削除する必要があります。

SQL Server Native Client によってデータ ソースに接続するときは、ドライバー名文字列として "SQL Server Native Client 11.0" を使用します。

各バージョンのコンポーネント名とプロパティ

プロパティ

SQL Server Native Client

SQL Server 2005

SQL Server Native Client 10.0

SQL Server 2008

SQL Server Native Client 11.0

SQL Server 2012

MDAC

ODBC ドライバー名

SQL Native Client

SQL Server Native Client 10.0

SQL Server Native Client 11.0

SQL Server

ODBC ヘッダー ファイル名

Sqlncli.h

Sqlncli.h

Sqlncli.h

Odbcss.h

ODBC ドライバー DLL

Sqlncli.dll

Sqlncl10.dll

Sqlncl11.dll

sqlsrv32.dll

BCP API の ODBC lib ファイル

Sqlncli.lib

Sqlncli10.lib

Sqlncli11.lib

Odbcbcp.lib

BCP API の ODBC DLL

Sqlncli.dll

Sqlncli10.dll

Sqlncli11.dll

Odbcbcp.dll

OLE DB PROGID

SQLNCLI

SQLNCLI10

SQLNCLI11

SQLOLEDB

OLE DB ヘッダー ファイル名

Sqlncli.h

Sqlncli.h

Sqlncli.h

Sqloledb.h

OLE DB プロバイダー DLL

Sqlncli.dll

Sqlncli10.dll

Sqlncli11.dll

Sqloledb.dll

sqlncli.h では、SQLNCLI_VER マクロを使用して、複数のバージョンの SQL Server Native Client をサポートしています。 既定では、SQLNCLI_VER は最新バージョンの SQL Server Native Client になっています。 sqlncli11.dll ではなく sqlncli10.dll を使用するアプリケーションをビルドするには、SQLNCLI_VER を 10 に設定します。

静的リンクと BCP 関数

BCP 関数を使用するアプリケーションでは、アプリケーションのコンパイルに使用されたヘッダー ファイルおよびライブラリに付属するのと同じバージョンのドライバーを接続文字列で指定することが重要です。

たとえば、SQL Server Native Client (および \Program Files\Microsoft SQL Server\110\SDK の関連するライブラリ ファイル (sqlncli11.lib) とヘッダー ファイル (sqlncli.h)) を使用してアプリケーションをコンパイルする場合は、接続文字列で "DRIVER={SQL Server Native Client 11.0}" (ODBC の場合) を指定する必要があります。

詳細については、「一括コピー操作の実行」を参照してください。

関連項目

その他の技術情報

SQL Server Native Client を使用したアプリケーションのビルド