다음을 통해 공유


ODBC API 참조

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

ODBC API는 데이터 원본에 연결하고, SQL 문을 실행하고, 결과를 검색하기 위한 표준 함수 집합을 제공합니다. 각 함수는 용도, ODBC 버전, 구문, 인수, 반환 값, 진단 및 코드 예제를 포함하는 설명을 포함하는 C 프로그래밍 언어 함수입니다.

표준 CLI 규칙 수준은 ISO 92, Open Group, ODBC 또는 사용되지 않음 중 하나일 수 있습니다. OPEN Group은 ISO 92의 순수 상위 집합이므로 ISO 92 규칙으로 태그가 지정된 함수도 Open Group 버전 1에 나타납니다. ODBC 3.x는 Open Group 버전 1의 순수 상위 집합이므로 Open Group 규격으로 태그가 지정된 함수도 ODBC 3.x에 표시됩니다. ODBC 규격으로 태그가 지정된 함수는 두 표준에 모두 표시되지 않습니다. 사용되지 않음으로 태그가 지정된 함수는 ODBC 3.x에서 더 이상 사용되지 않습니다.

SQLGetDiagField 함수 설명은 진단 정보를 처리하는 방법을 설명합니다. SQLSTATE 값과 연결된 텍스트는 조건에 대한 설명을 제공하지만 특정 텍스트를 규정하지는 않습니다.

비고

ODBC 함수에 대한 드라이버 관련 정보는 드라이버 섹션을 참조하세요.

할당 및 관리 처리

이러한 함수는 환경, 연결, 문 및 설명자에 대한 핸들을 할당하고 해제합니다. 핸들은 ODBC 애플리케이션에서 상태를 추적하기 위한 기본 메커니즘입니다.

기능 Description
SQLAllocHandle 환경, 연결, 문 또는 설명자 핸들을 할당합니다. 사용되지 않는 할당 함수를 대체하는 ODBC 3.x 함수입니다.
SQLFreeHandle 환경, 연결, 문 또는 설명자 핸들을 해제하고 관련 리소스를 해제합니다.
SQLAllocConnect 연결 핸들을 할당합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLAllocHandle .
SQLAllocEnv 환경 핸들을 할당합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLAllocHandle .
SQLAllocStmt 문 핸들을 할당합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLAllocHandle .
SQLFreeConnect 연결 핸들을 해제합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLFreeHandle .
SQLFreeEnv 환경 핸들을 해제합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLFreeHandle .
SQLFreeStmt 문 처리를 중지하고, 연결된 커서를 닫고, 보류 중인 결과를 삭제하고, 문 핸들과 연결된 리소스를 선택적으로 해제합니다.

연결 함수

이러한 함수는 데이터 원본에 대한 연결을 설정하고 관리합니다. 표준 연결, 드라이버별 대화 상자 및 반복 검색을 비롯한 다양한 연결 방법을 지원합니다.

기능 Description
SQLConnect 데이터 원본 이름, 사용자 ID 및 암호를 사용하여 데이터 원본에 대한 연결을 설정합니다.
SQLDriverConnect 연결 문자열을 사용하여 연결을 설정합니다. 추가 연결 정보에 대한 드라이버 관련 대화 상자를 지원합니다.
SQLBrowseConnect 데이터 원본에 연결하는 데 필요한 특성을 검색하고 열거하는 반복 메서드를 지원합니다.
SQLDisconnect 데이터 원본에 대한 연결을 닫고 연결된 리소스를 해제합니다.
SQLDataSources 사용 가능한 데이터 원본 목록을 반환합니다. 특정 드라이버가 아닌 드라이버 관리자에서 호출됩니다.
SQLDrivers 설치된 드라이버 및 해당 특성의 목록을 반환합니다. 드라이버 관리자에서 호출됩니다.

문 준비 및 실행

이러한 함수는 SQL 문을 준비하고 실행합니다. ODBC는 직접 실행과 준비된 실행을 모두 지원하며, 준비된 실행은 반복적으로 실행되는 문에 대해 더 나은 성능을 제공합니다.

기능 Description
SQLPrepare 나중에 실행하기 위해 SQL 문을 준비합니다. 데이터 원본은 문을 컴파일하고 최적화합니다.
SQLExecute 준비된 문을 실행합니다. 이 함수를 호출하기 전에 호출 SQLPrepare 합니다.
SQLExecDirect 단일 호출에서 SQL 문을 준비하고 실행합니다. 한 번만 실행되는 문에 사용합니다.
SQLNativeSql 드라이버에서 수정한 SQL 문자열을 반환하여 드라이버가 ODBC SQL 구문을 변환하는 방법을 보여 줍니다.
SQLCancel 문에 대한 처리를 취소합니다. 비동기적으로 실행되는 함수 또는 다른 스레드에서 실행되는 함수를 취소할 수 있습니다.
SQLCancelHandle 연결 또는 문에 대한 처리를 취소합니다. 연결 함수를 취소하는 것보다 SQLCancel 더 유연합니다.
SQLCompleteAsync 비동기 함수가 완료되는 시기를 결정합니다. 알림 기반 비동기 처리와 함께 사용됩니다.

매개 변수 바인딩

이러한 함수는 SQL 문의 매개 변수 표식에 애플리케이션 변수를 바인딩합니다. 매개 변수는 준비된 문에서 동적 값을 사용하도록 설정합니다.

기능 Description
SQLBindParameter SQL 문의 매개 변수 표식에 애플리케이션 변수를 바인딩합니다. 입력, 출력 및 입력/출력 매개 변수를 지원합니다.
SQLNumParams SQL 문의 매개 변수 수를 반환합니다.
SQLDescribeParam 데이터 형식, 크기 및 전체 자릿수를 포함하여 매개 변수 표식에 대한 설명을 반환합니다.
SQLParamData SQLPutData 실행 시 매개 변수 데이터를 제공하는 데 사용됩니다. 데이터가 필요한 매개 변수를 반환합니다.
SQLPutData 실행 시 매개 변수에 대한 데이터 값의 일부 또는 전체를 보냅니다. 청크로 큰 데이터를 지원합니다.
SQLSetParam 매개 변수를 바인딩합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLBindParameter .
SQLParamOptions 매개 변수 배열에 대한 옵션을 설정합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 문 특성을 사용합니다.

결과 집합 바인딩 및 검색

이러한 함수는 애플리케이션 버퍼를 결과 집합 열에 바인딩하고 쿼리 결과에서 데이터를 검색합니다.

기능 Description
SQLBindCol 후속 인출 작업을 위해 애플리케이션 변수를 결과 집합 열에 바인딩합니다.
SQLFetch 결과 집합에서 바인딩된 열로 데이터의 다음 행 집합을 가져옵니다.
SQLFetchScroll 결과 집합에서 지정된 행 집합을 가져옵니다. 첫 번째, 마지막, 다음, 이전, 절대 및 상대 위치로 스크롤을 지원합니다.
SQLGetData 이후 SQLFetch 또는 SQLFetchScroll다음 열에 대한 데이터를 검색합니다. 큰 데이터 또는 언바운드 열에 유용합니다.
SQLExtendedFetch 지정된 데이터 행 집합을 가져옵니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLFetchScroll .
SQLMoreResults 문에서 더 많은 결과를 사용할 수 있는지 여부를 결정하고 다음 결과 집합으로 진행합니다.
SQLRowCount UPDATE, INSERT 또는 DELETE 문의 영향을 받는 행 수를 반환합니다.

커서 작업

이러한 함수는 행 집합에서 커서 동작, 위치 지정 및 대량 작업을 관리합니다.

기능 Description
SQLSetPos 행 집합 내에서 커서 위치를 설정하고 애플리케이션이 해당 위치에서 데이터를 새로 고치거나 업데이트하거나 삭제할 수 있도록 합니다.
SQLBulkOperations 행 집합에서 책갈피로 대량 삽입, 업데이트, 삭제 또는 책갈피 가져오기 작업을 수행합니다.
SQLCloseCursor 문에서 열린 커서를 닫고 보류 중인 결과를 삭제합니다.
SQLGetCursorName 문과 연결된 커서 이름을 반환합니다.
SQLSetCursorName 배치된 UPDATE 및 DELETE 문의 커서 이름을 지정합니다.
SQLSetScrollOptions 커서 동작에 대한 옵션을 설정합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 문 특성을 사용합니다.

카탈로그 함수

이러한 함수는 테이블, 열, 인덱스, 권한 및 저장 프로시저를 포함하여 데이터베이스 구조에 대한 메타데이터를 검색합니다.

기능 Description
SQLTables 데이터 원본의 테이블 이름 목록을 반환합니다. 카탈로그, 스키마 및 테이블 형식별 필터링을 지원합니다.
SQLColumns 지정된 테이블에 대한 열 이름 및 해당 특성의 목록을 반환합니다.
SQLPrimaryKeys 테이블의 기본 키를 구성하는 열을 반환합니다.
SQLForeignKeys 테이블의 외래 키 또는 테이블의 기본 키를 참조하는 다른 테이블의 외래 키를 반환합니다.
SQLStatistics 테이블 및 테이블과 연결된 인덱스 목록에 대한 통계를 반환합니다.
SQLSpecialColumns 행의 값이 업데이트되면 자동으로 업데이트되는 행 또는 열을 고유하게 식별하는 열을 반환합니다.
SQLColumnPrivileges 테이블에 대한 열 및 관련 권한 목록을 반환합니다.
SQLTablePrivileges 테이블 목록과 각 테이블과 연결된 권한을 반환합니다.
SQLProcedures 데이터 원본의 저장 프로시저 이름 목록을 반환합니다.
SQLProcedureColumns 지정된 프로시저에 대한 결과 집합의 입력/출력 매개 변수 및 열 목록을 반환합니다.
SQLGetTypeInfo 데이터 원본에서 지원하는 데이터 형식에 대한 정보를 반환합니다.

설명자 작업

이러한 함수는 설명자 값을 가져와서 설정합니다. 설명자에는 매개 변수 및 결과 집합 열에 대한 메타데이터가 포함됩니다.

기능 Description
SQLGetDescField 설명자 레코드의 단일 필드 값을 반환합니다.
SQLGetDescRec 한 번의 호출로 설명자 레코드의 여러 필드를 반환합니다.
SQLSetDescField 설명자 레코드의 단일 필드 값을 설정합니다.
SQLSetDescRec 설명자 레코드의 여러 필드를 단일 호출로 설정합니다.
SQLCopyDesc 설명자 정보를 한 설명자 핸들에서 다른 설명자 핸들로 복사합니다.

특성 함수

이러한 함수는 환경, 연결 및 문에 대한 특성을 가져와서 설정합니다. 특성은 ODBC 동작의 다양한 측면을 제어합니다.

기능 Description
SQLSetEnvAttr 해당 환경의 모든 연결에 영향을 주는 환경 특성을 설정합니다.
SQLGetEnvAttr 환경 특성의 값을 반환합니다.
SQLSetConnectAttr 연결 및 연결에 영향을 주는 연결 특성을 설정합니다.
SQLGetConnectAttr 연결 특성의 값을 반환합니다.
SQLSetStmtAttr 문 특성을 설정합니다. 커서, 쿼리 시간 제한 및 매개 변수 설정을 포함합니다.
SQLGetStmtAttr 문 특성의 값을 반환합니다.
SQLSetConnectOption 연결 옵션을 설정합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLSetConnectAttr .
SQLGetConnectOption 연결 옵션의 값을 반환합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLGetConnectAttr .
SQLSetStmtOption 문 옵션을 설정합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLSetStmtAttr .
SQLGetStmtOption 문 옵션의 값을 반환합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLGetStmtAttr .

진단 및 정보 함수

이러한 함수는 진단 정보, 오류 메시지, 드라이버 기능 및 데이터 원본 정보를 검색합니다.

기능 Description
SQLGetDiagField 오류, 경고 및 상태 정보를 포함하는 진단 레코드의 필드 값을 반환합니다.
SQLGetDiagRec SQLSTATE, 네이티브 오류 코드 및 메시지 텍스트를 포함하여 진단 레코드의 자주 사용되는 여러 필드를 반환합니다.
SQLError 오류 정보를 반환합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLGetDiagRec .
SQLGetFunctions 드라이버가 특정 ODBC 함수를 지원하는지 여부에 대한 정보를 반환합니다.
Sqlgetinfo 지원되는 기능 및 기능을 포함하여 드라이버 및 데이터 원본에 대한 일반 정보를 반환합니다.

결과 집합 메타데이터

이러한 함수는 결과 집합의 구조에 대한 정보를 반환합니다.

기능 Description
SQLNumResultCols 결과 집합의 열 수를 반환합니다.
SQLDescribeCol 결과 집합 열의 열 이름, 데이터 형식, 전체 자릿수, 소수 자릿수 및 null 허용도를 반환합니다.
SQLColAttribute 결과 집합의 열에 대한 설명자 정보를 반환합니다. 보다 SQLDescribeCol유연합니다.
SQLColAttributes 열의 특성을 반환합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLColAttribute .

트랜잭션 관리

이러한 함수는 트랜잭션 경계를 관리하여 변경 내용이 커밋되거나 롤백되는 시기를 제어합니다.

기능 Description
SQLEndTran 트랜잭션을 커밋하거나 롤백합니다. 환경 또는 단일 연결의 모든 연결에 적용할 수 있습니다.
SQLTransact 트랜잭션을 커밋하거나 롤백합니다. ODBC 3.x에서는 사용되지 않습니다. 대신 사용합니다 SQLEndTran .