다음을 통해 공유


SQL Server Native Client 헤더 및 라이브러리 파일 사용

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

Important

SNAC(SQL Server Native Client)는 다음과 함께 제공되지 않습니다.

  • SQL Server 2022(16.x) 이상 버전
  • SQL Server Management Studio 19 이상 버전

SQLNCLI 또는 SQLNCLI11(SQL Server Native Client) 및 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 새 애플리케이션 개발에 권장되지 않습니다.

새 프로젝트의 경우 다음 드라이버 중 하나를 사용합니다.

SQL Server 데이터베이스 엔진(버전 2012부터 2019까지)의 구성 요소로 제공되는 SQLNCLI의 경우 이 수명 주기 예외 지원을 참조하세요.

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(9.x)에 도입된 새로운 기능을 활용하는 데 필요한 모든 정의, 특성, 속성 및 인터페이스가 포함되어 있습니다.

SQL Server Native Client 헤더 파일 외에도 ODBC에 대한 BCP(SQL Server 대량 복사 프로그램) 기능의 내보내기 라이브러리인 sqlncli11.lib 라이브러리 파일도 있습니다.

SQL Server Native Client 헤더 파일은 MDAC(Microsoft Data Access Components)와 함께 사용되는 sqloledb.h 및 odbcss.h 헤더 파일과 이전 버전과 호환되지만 SQLOLEDB용 CLSID(MDAC에 포함된 SQL Server용 OLE DB 공급자) 또는 XML 기능에 대한 기호(SQL Server Native Client에서 지원하지 않음)는 포함하지 않습니다.

ODBC 애플리케이션은 동일한 프로그램에서 SQL Server Native Client 헤더(sqlncli.h) 및 odbcss.h를 참조할 수 없습니다. SQL Server 2005(9.x)에 도입된 기능을 사용하지 않더라도 SQL Server Native Client 헤더 파일은 이전 odbcss.h 대신 작동합니다.

SQL Server Native Client OLE DB 공급자를 사용하는 OLE DB 애플리케이션은 sqlncli.h만 참조하면 됩니다. 애플리케이션에서 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를 모두 사용하는 경우 위에 표시된 코드의 첫 번째 줄을 생략해야 합니다. 또한 애플리케이션에 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를 모두 사용하는 경우 위에 표시된 코드의 첫 번째 줄을 생략해야 합니다. 또한 애플리케이션 #include 에 odbcss.h에 대한 문이 있는 경우 제거해야 합니다.

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(11.x)
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 라이브러리 파일 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를 사용하여 애플리케이션 빌드