다음을 통해 공유


드라이버 애플리케이션 만들기

적용 대상: 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의 경우 이 수명 주기 예외 지원을 참조하세요.

ODBC 아키텍처에는 다음과 같은 기능을 수행하는 네 가지 구성 요소가 있습니다.

구성 요소 함수
애플리케이션 ODBC 함수를 호출하여 ODBC 데이터 원본과 통신하고, SQL 문을 제출하고, 결과 집합을 처리합니다.
드라이버 관리자 애플리케이션과 애플리케이션에서 사용하는 모든 ODBC 드라이버 간의 통신을 관리합니다.
드라이버 애플리케이션으로부터의 모든 ODBC 호출을 처리하고, 데이터 원본에 연결하고, 애플리케이션에서 데이터 원본으로 SQL 문을 전달하고, 애플리케이션에 결과를 반환합니다. 필요한 경우 드라이버는 애플리케이션에서 데이터 원본에서 사용하는 네이티브 SQL로 ODBC SQL을 변환합니다.
데이터 원본 드라이버가 DBMS의 특정 데이터 인스턴스에 액세스하는 데 필요한 모든 정보를 포함합니다.

SQL Server Native Client ODBC 드라이버를 사용하여 SQL Server 인스턴스와 통신하는 애플리케이션은 다음 작업을 수행합니다.

  • 데이터 원본과 연결

  • 데이터 원본에 SQL 문 전송

  • 데이터 원본에서 문의 결과를 처리합니다.

  • 오류 및 메시지 처리

  • 데이터 원본에 대한 연결을 종료합니다.

SQL Server Native Client ODBC 드라이버용으로 작성된 더 복잡한 애플리케이션도 다음 작업을 수행할 수 있습니다.

  • 커서를 사용하여 결과 집합에서 위치 제어

  • 트랜잭션 제어에 대한 커밋 또는 롤백 작업 요청

  • 둘 이상의 서버와 관련된 분산 트랜잭션 수행

  • 원격 서버에서 저장 프로시저 실행

  • 카탈로그 함수를 호출하여 결과 집합의 특성에 대해 문의합니다.

  • 대량 복사 작업 수행

  • 큰 데이터(varchar(max), nvarchar(max)varbinary(max) 열) 작업 관리

  • 데이터베이스 미러링이 구성된 경우 다시 연결 논리를 사용하여 장애 조치(failover)를 용이하게 합니다.

  • 로그 성능 데이터 및 장기 실행 쿼리

ODBC 함수를 호출하려면 C 또는 C++ 애플리케이션에 sql.h, sqlext.h 및 sqltypes.h 헤더 파일이 포함되어야 합니다. ODBC 설치 관리자 API 함수를 호출하려면 애플리케이션에 odbcinst.h 헤더 파일이 포함되어야 합니다. 유니코드 ODBC 애플리케이션에는 sqlucode.h 헤더 파일이 포함되어야 합니다. ODBC 애플리케이션은 odbc32.lib 파일에 연결되어야 하고 ODBC 설치 관리자 API 함수를 호출하는 ODBC 애플리케이션은 odbccp32.lib 파일과 연결되어야 합니다. 이러한 파일은 Windows 플랫폼 SDK 포함됩니다.

SQL Server Native Client ODBC 드라이버를 비롯한 많은 ODBC 드라이버는 드라이버별 ODBC 확장을 제공합니다. SQL Server Native Client ODBC 드라이버별 확장을 활용하려면 애플리케이션에 sqlncli.h 헤더 파일이 포함되어야 합니다. 이 헤더 파일에는 다음이 포함됩니다.

  • SQL Server Native Client ODBC 드라이버별 연결 특성입니다.

  • SQL Server Native Client ODBC 드라이버 관련 문 특성입니다.

  • SQL Server Native Client ODBC 드라이버별 열 특성입니다.

  • SQL Server 관련 데이터 형식입니다.

  • SQL Server 관련 사용자 정의 데이터 형식입니다.

  • SQL Server Native Client ODBC 드라이버별 SQLGetInfo 형식입니다.

  • SQL Server Native Client ODBC 드라이버 진단 필드입니다.

  • SQL Server 관련 진단 동적 함수 코드입니다.

  • SQL Server 특정 네이티브 C 데이터 형식에 대한 C/C++ 형식 정의입니다(C 데이터 형식에 바인딩된 열이 SQL_C_BINARY 때 반환됨).

  • SQLPERF 데이터 구조용 형식 정의

  • ODBC 연결을 통해 대량 복사 API 사용을 지원하기 위해 매크로 및 프로토타입을 대량 복사합니다.

  • 연결된 서버와 해당 카탈로그의 목록을 위해 분산 쿼리 메타데이터 API 함수 호출

SQL Server Native Client ODBC 드라이버의 대량 복사 기능을 사용하는 C 또는 C++ ODBC 애플리케이션은 sqlncli11.lib 파일과 연결되어야 합니다. 분산 쿼리 메타데이터 API 함수를 호출하는 애플리케이션도 sqlncli11.lib와 연결되어야 합니다. sqlncli.h 및 sqlncli11.lib 파일은 SQL Server 개발자 도구의 일부로 배포됩니다. SQL Server Include 및 Lib 디렉터리도 다음과 같이 컴파일러의 INCLUDE 및 LIB 경로에 있어야 합니다.

LIB=c:\Program Files\Microsoft Data Access SDK 2.8\Libs\x86\lib;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Lib;  
INCLUDE=c:\Program Files\Microsoft Data Access SDK 2.8\inc;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Include;  

애플리케이션을 빌드하는 과정에서 초기에 내린 디자인 결정 중 하나는 애플리케이션에 동시에 미해결 ODBC 호출이 여러 개 있어야 하는지 여부입니다. 이 섹션의 나머지 항목에 설명된 여러 동시 ODBC 호출을 지원하는 방법에는 두 가지가 있습니다. 자세한 내용은 ODBC 프로그래머 참조를 참조하세요.

섹션 내용

참고 항목

SQL Server Native Client(ODBC)