SQLGetDiagField
SQLGetDiagField#
Altibase CLI 함수 사용 후 결과에 따라 진단할 때 사용한다.
Unicode SQLGetDiagFieldW() 동작은 SQLGetDiagField()와 동일하다.
구문#
SQLRETURN SQLGetDiagField(SQLSMALLINT HandleType,
SQLHANDLE Handle,
SQLSMALLINT RecNumber,
SQLSMALLINT DiagIdentifier,
SQLPOINTER DiagInfoPtr,
SQLSMALLINT BufferLength,
SQLSMALLINT *StringLengthPtr)
인자#
자료유형 | 인자 | 사용 | 설명 |
---|---|---|---|
SQLSMALLINT | HandleType | 입력 | 할당 될 핸들 타입으로 다음 세가지 값 중에서 하나이다. - SQL_HANDLE_ENV - SQL_HANDLE_DBC - SQL_HANDLE_STMT |
SQLHANDLE | Handle | 입력 | 입력 HandleType이 SQL_HANDLE_ENV이면 InputHandle은 SQL_NULL_HANDLE이고 SQL_HANDLE_DBC이면 환경 핸들이어야 하고 SQL_HANDLE_STMT이면 연결 핸들이어야 한다. |
SQLSMALLINT | DiagIdentifier | 입력 | 진단 될 종류를 의미한다. 현재 SQL_DIAG_NUMBER만 지원한다. |
SQLPOINTER | DiagInfoPtr | 출력 | Diagnostic 정보를 되돌려줄 buffer의 포인터이다. |
SQLINTEGER | BufferLength | 입력 | - *DiagInfoPtr이 character string 의 포인터이면 string의 바이트 길이 또는 SQL_NTS - *DiagInfoPtr이 binary buffer의 포인터이면 바이너리 데이터의 길이 - *DiagInfoPtr이 integer 같은 fixed-length 데이터 타입의 포인터이면 이 값은 무시된다. |
SQLINTEGER* | StringLengthPtr | 출력 | *ValuePtr에 반환되는 값의 바이트 길이를 반환(null-termination character 제외) |
결괏값#
각 핸들 타입에 맞는 오류 메세지
설명#
이 함수는 실행 후 오류를 포함한 진단을 할 때 사용된다. 다음과 같은 경우에 사용이 된다.
Altibase CLI 함수에서는 SQL_ERROR 또는 SQL_SUCCESS_WITH_INFO를 리턴 받았을 경우 오류와 경고 등의 정보를 수집한다. 이 수집된 정보를 알려고 할 때에 이 함수를 사용한다.
Altibase CLI의 어떤 함수들도 실행 후에 이 함수를 호출하여 진단을 할 수 있다. 이 함수는 최근에 저장된 진단 정보만을 보여준다.
현재는 다음과 같은 핸들 타입에 대해서만 작동한다.
SQL_HANDLE_ENV
SQL_HANDLE_DBC
SQL_HANDLE_STMT
입력 인자중 입력 HandleType이 SQL_HANDLE_ENV이면 InputHandle은 SQL_NULL_HANDLE이고, SQL_HANDLE_DBC이면 환경 핸들이어야 하고 SQL_HANDLE_STMT이면 연결 핸들이어야 한다. 즉 각 입력 핸들 타입에 맞는 값을 세팅해야 한다.
관련 함수#
SQLError