다음을 통해 공유


ODBC: ODBC API 함수 직접 호출

데이터베이스 클래스는 ODBC보다 데이터 원본더 간단한 인터페이스를 제공합니다. 따라서 클래스는 모든 ODBC API를 캡슐화하지 않습니다. 클래스의 기능을 벗어나는 모든 기능의 경우 ODBC API 함수를 직접 호출해야 합니다. 예를 들어 ODBC 카탈로그 함수(::SQLColumns, ::SQLProcedures::SQLTables기타)를 직접 호출해야 합니다.

참고 항목

이 항목에 설명된 대로 MFC ODBC 클래스를 통해 또는 MFC DAO(Data Access Object) 클래스를 통해 ODBC 데이터 원본에 액세스할 수 있습니다.

ODBC API 함수를 직접 호출하려면 프레임워크 없이 호출하는 경우 수행하는 것과 동일한 단계를 수행해야 합니다. 단계는 다음과 같습니다.

  • 호출이 반환하는 결과에 대한 스토리지를 할당합니다.

  • 함수의 매개 변수 서명에 따라 ODBC HDBC 또는 HSTMT 핸들을 전달합니다. AFXGetHENV 매크로를 사용하여 ODBC 핸들을 검색합니다.

    멤버 변수를 CDatabase::m_hdbc CRecordset::m_hstmt 직접 할당하고 초기화할 필요가 없도록 사용할 수 있습니다.

  • 기본 호출을 준비하거나 후속 작업을 위해 추가 ODBC 함수를 호출할 수 있습니다.

  • 완료되면 스토리지 할당을 취소합니다.

이러한 단계에 대한 자세한 내용은 ODBC 프로그래머 참조를 참조하세요.

이러한 단계 외에도 함수 반환 값을 검사 프로그램이 비동기 호출이 완료되는 것을 기다리지 않는지 확인하는 추가 단계를 수행해야 합니다. AFX_SQL_ASYNC 및 AFX_SQL_SYNC 매크로를 사용하여 이러한 마지막 단계를 간소화할 수 있습니다. 자세한 내용은 MFC 매크로 및 전역을 참조 하세요.

참고 항목

ODBC 기본 사항