연결 핸들 할당 ODBC

애플리케이션이 데이터 원본 또는 드라이버에 연결하려면 먼저 다음과 같이 연결 핸들을 할당해야 합니다.

  1. 애플리케이션은 SQLHDBC 형식의 변수를 선언합니다. 그런 다음 SQLAllocHandle을 호출하고 이 변수의 주소, 연결을 할당할 환경의 핸들 및 SQL_HANDLE_DBC 옵션을 전달합니다. 예시:

    SQLHDBC hdbc1;  
    
    SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1);  
    
  2. 드라이버 관리자는 문에 대한 정보를 저장할 구조를 할당하고 변수에 연결 핸들을 반환합니다.

드라이버 관리자는 호출할 드라이버를 모르기 때문에 현재 드라이버에서 SQLAllocHandle을 호출하지 않습니다. 애플리케이션이 데이터 원본에 연결하는 함수를 호출할 때까지 드라이버에서 SQLAllocHandle 호출을 지연합니다. 자세한 내용은 이 섹션의 뒷부분에 있는 커넥트Ion Process에서 드라이버 관리자의 역할을 참조하세요.

연결 핸들을 할당하는 것은 드라이버 로드와 동일하지 않습니다. 연결 함수가 호출될 때까지 드라이버가 로드되지 않습니다. 따라서 연결 핸들을 할당한 후 드라이버 또는 데이터 원본에 연결하기 전에 애플리케이션이 연결 핸들을 사용하여 호출할 수 있는 유일한 함수는 SQL_ODBC_VER 옵션을 사용하여 SQLSet커넥트Attr, SQLGet커넥트Attr 또는 SQLGetInfo뿐입니다. 연결 핸들(예: SQLEndTran)을 사용하여 다른 함수를 호출하면 SQLSTATE 08003(커넥트이 열리지 않음)이 반환됩니다. 자세한 내용은 부록 B: ODBC 상태 전환 테이블을 참조 하세요.

연결 핸들에 대한 자세한 내용은 커넥트ion 핸들을 참조하세요.