다음을 통해 공유


인수 값 검사

드라이버 관리자는 다음과 같은 형식의 인수를 검사. 달리 명시되지 않는 한 드라이버 관리자는 인수 값의 오류에 대한 SQL_ERROR 반환합니다.

  • 환경, 연결 및 문 핸들은 일반적으로 null 포인터일 수 없습니다. 드라이버 관리자는 null 핸들을 찾으면 SQL_INVALID_HANDLE 반환합니다.

  • SQLAllocHandle의 OutputHandlePtr및 SQLSetCursorName의 CursorName같은 필수 포인터 인수는 null 포인터일 수 없습니다.

  • 드라이버별 값을 지원하지 않는 옵션 플래그는 법적 값이어야 합니다. 예를 들어 SQLSetPos작업은 SQL_POSITION, SQL_REFRESH, SQL_UPDATE, SQL_DELETE 또는 SQL_ADD 합니다.

  • 옵션 플래그는 드라이버에서 지원하는 ODBC 버전에서 지원되어야 합니다. 예를 들어 SQLGetInfo InfoType은 ODBC 2.0 드라이버를 호출할 때 SQL_ASYNC_MODE 수 없습니다(ODBC 3.0에서 도입됨).

  • 열 및 매개 변수 번호는 함수에 따라 0보다 크거나 0보다 커야 합니다. 드라이버는 현재 결과 집합 또는 SQL 문을 기반으로 이러한 인수 값의 상한을 검사 합니다.

  • 길이/표시기 인수 및 데이터 버퍼 길이 인수는 적절한 값을 포함해야 합니다. 예를 들어 SQLColumns(NameLength3)에서 테이블 이름의 길이를 지정하는 인수는 SQL_NTS 또는 0 보다 큰 값이어야 합니다.SQLDescribeColBufferLength는 0보다 크거나 같아야 합니다. 드라이버는 이러한 인수를 검사 수도 있습니다. 예를 들어 NameLength3이 데이터 원본에 있는 테이블 이름의 최대 길이보다 작거나 같은지 검사 수 있습니다.