드라이버별 데이터 형식, 설명자 형식, 정보 유형, 진단 형식 및 특성
드라이버는 다음에 대해 드라이버별 값을 할당할 수 있습니다.
SQL 데이터 형식 지표는 SQLBindParameter의 ParameterType및 SQLGetTypeInfo의 DataType에서 사용되며 SQLColAttribute, SQLColumns, SQLDescribeCol, SQLGetTypeInfo, SQLDescribeParam, SQLProcedureColumns 및 SQLSpecialColumns에서 반환됩니다.
설명자 필드는 SQLColAttribute, SQLGetDescField 및 SQLSetDescField의 FieldIdentifier에서 사용됩니다.
진단 필드는 SQLGetDiagField 및 SQLGetDiagRec의 DiagIdentifier에서 사용됩니다.
정보 유형은 SQLGetInfo의 InfoType에서 사용됩니다.
커넥트ion 및 문 특성 이는 SQLGet커넥트Attr, SQLGetStmtAttr, SQLSet커넥트Attr 및 SQLSetStmtAttr의 특성 에 사용됩니다.
이러한 각 항목에는 ODBC에서 사용하도록 예약된 값과 드라이버에서 사용하도록 예약된 값의 두 가지 값 집합이 있습니다. 드라이버별 값을 구현하기 전에 드라이버 작성기는 Open Group에서 각 드라이버별 형식, 필드 또는 특성에 대한 값을 요청해야 합니다. 새 드라이버 개발의 경우 아래 표에 설명된 범위를 사용합니다. 아래에 설명된 범위에 없는 알 수 없는 값을 사용하는 경우 ODBC 3.8 드라이버 관리자는 오류를 생성하지 않습니다. 그러나 알 수 없는 값이 범위에 없는 경우 드라이버 관리자의 이후 버전에서 오류가 발생할 수 있습니다.
이러한 값이 ODBC 함수에 전달되면 드라이버는 값이 유효한지 여부를 검사 합니다. 드라이버는 다른 드라이버에 적용되는 드라이버별 값에 대해 SQLSTATE HYC00(구현되지 않은 선택적 기능)을 반환합니다.
ODBC 3.8부터 드라이버 작성기는 예약된 범위 내에서 드라이버별 특성을 할당할 수 있습니다.
참고 항목
ODBC 3.8 드라이버 관리자는 이전 버전과의 호환성을 위해 이러한 범위의 유효성을 검사하거나 적용하지 않습니다. 그러나 드라이버 관리자의 이후 버전에서는 이를 적용할 수 있습니다.
특성 유형 | ODBC 데이터 형식 | 드라이버별 범위 기반 | 드라이버별 범위 제한 | 드라이버별 값 범위 기반의 ODBC 상수 |
---|---|---|---|---|
SQL 데이터 형식 표시기 | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_SQL_TYPE_BASE |
설명자 필드 | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DESCRIPTOR_BASE |
진단 필드 | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DIAGNOSTIC_BASE |
정보 유형 | SQLUSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_INFO_TYPE_BASE |
연결 특성 | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_CONNECT_ATTR_BASE |
문 특성 | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_STATEMENT_ATTR_BASE |
참고 항목
드라이버 관련 데이터 형식, 설명자 필드, 진단 필드, 정보 형식, 문 특성 및 연결 특성은 드라이버 설명서에 설명되어 있어야 합니다. 이러한 값이 ODBC 함수에 전달되면 드라이버는 값이 유효한지 여부를 검사 합니다. 드라이버는 다른 드라이버에 적용되는 드라이버별 값에 대해 SQLSTATE HYC00(구현되지 않은 선택적 기능)을 반환합니다.
기본 값은 드라이버 개발을 용이하게 하기 위해 정의됩니다. 예를 들어 드라이버별 진단 특성은 다음 형식으로 정의할 수 있습니다.
SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1