SQLSetConnectAttrForDbcInfo 함수
규칙
버전 도입: ODBC 3.81 표준 준수: ODBC
요약
SQLSetConnectAttrForDbcInfo는 SQLSetConnectAttr와 동일하지만 연결 핸들 대신 연결 정보 토큰의 특성을 설정합니다.
구문
SQLRETURN SQLSetConnectAttrForDbcInfo(
SQLHDBC_INFO_TOKEN hDbcInfoToken,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength );
인수
hDbcInfoToken
[입력] 토큰 핸들입니다.
특성
[입력] 설정할 특성입니다. 유효한 특성 목록은 드라이버별로 지정되며 SQLSetConnectAttr의 경우와 동일합니다.
ValuePtr
[입력] 특성과 연결할 값에 대한 포인터입니다. 특성 값에 따라 ValuePtr은 부호 없는 32비트 정수 값이거나 null로 끝나는 문자열을 가리킵니다. Attribute 인수가 드라이버별 값인 경우 ValuePtr의 값은 부호 있는 정수일 수 있습니다.
StringLength
[입력] 특성이 ODBC 정의 특성이고 ValuePtr가 문자열 또는 이진 버퍼를 가리키는 경우 이 인수는 *ValuePtr 길이여야 합니다. 문자열 데이터의 경우 이 인수는 문자열의 바이트 수를 포함해야 합니다.
특성이 ODBC 정의 특성이고 ValuePtr이 정수이면 StringLength가 무시됩니다.
특성이 드라이버 정의 특성인 경우 애플리케이션은 StringLength 인수를 설정하여 드라이버 관리자에 대한 특성의 특성을 나타냅니다. StringLength 는 다음 값을 가질 수 있습니다.
ValuePtr이 문자열에 대한 포인터인 경우 StringLength는 문자열 또는 SQL_NTS 길이입니다.
ValuePtr이 이진 버퍼에 대한 포인터인 경우 애플리케이션은 stringLength에 SQL_LEN_BINARY_ATTR(length) 매크로의 결과를 배치합니다. 그러면 StringLength에 음수 값이 배치됩니다.
ValuePtr이 문자열이나 이진 문자열이 아닌 값에 대한 포인터인 경우 StringLength에는 SQL_IS_POINTER 값이 있어야 합니다.
ValuePtr에 고정 길이 값이 포함된 경우 StringLength는 적절하게 SQL_IS_INTEGER 또는 SQL_IS_UINTEGER.
반품
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR 또는 SQL_INVALID_HANDLE.
진단
드라이버 관리자가 SQL_HANDLE_DBC_INFO_TOKEN HandleType 및 hDbcInfoToken의 핸들을 사용한다는 점을 제외하고 SQLSetConnectAttr과 동일합니다.
설명
SQLSetConnectAttrForDbcInfo는 SQLSetConnectAttr와 동일하지만 연결 핸들 대신 연결 정보 토큰의 특성을 설정합니다. 예를 들어 SQLSetConnectAttr가 특성을 인식하지 못하는 경우 SQLSetConnectAttrForDbcInfo도 해당 특성에 대한 SQL_ERROR 반환해야 합니다.
드라이버가 SQL_ERROR 또는 SQL_INVALID_HANDLE 반환할 때마다 드라이버는 풀 ID를 계산하기 위해 이 특성을 무시해야 합니다. 또한 드라이버 관리자는 hDbcInfoToken에서 진단 정보를 가져오고 SQLConnect 및 SQLDriverConnect의 애플리케이션에 SQL_SUCCESS_WITH_INFO 반환합니다. 따라서 애플리케이션은 일부 특성을 설정할 수 없는 이유에 대한 세부 정보를 검색할 수 있습니다.
애플리케이션은 이 함수를 직접 호출해서는 안 됩니다. 드라이버 인식 연결 풀링을 지원하는 ODBC 드라이버는 이 함수를 구현해야 합니다.
ODBC 드라이버 개발을 위해 sqlspi.h를 포함합니다.