진단 메시지

진단 메시지는 각 SQLSTATE와 함께 반환됩니다. 동일한 SQLSTATE는 종종 여러 다른 메시지와 함께 반환됩니다. 예를 들어 SQLSTATE 42000(구문 오류 또는 액세스 위반)은 SQL 구문의 대부분의 오류에 대해 반환됩니다. 그러나 각 구문 오류는 다른 메시지로 설명될 수 있습니다.

샘플 진단 메시지는 부록 A의 SQLSTATE 테이블과 각 함수의 오류 열에 나열됩니다. 드라이버는 이러한 메시지를 반환할 수 있지만 데이터 원본에서 전달된 모든 메시지를 반환할 가능성이 높습니다.

애플리케이션은 일반적으로 SQLSTATE 및 네이티브 오류 코드와 함께 사용자에게 진단 메시지를 표시합니다. 이를 통해 사용자 및 지원 담당자가 문제의 원인을 파악할 수 있습니다. 메시지에 포함된 구성 요소 정보는 이 작업을 수행하는 데 특히 유용합니다.

진단 메시지는 드라이버, 게이트웨이 및 드라이버 관리자와 같은 ODBC 연결의 데이터 원본 및 구성 요소에서 가져옵니다. 일반적으로 데이터 원본은 ODBC를 직접 지원하지 않습니다. 따라서 ODBC 연결의 구성 요소가 데이터 원본에서 메시지를 수신하는 경우 데이터 원본을 메시지의 원본으로 식별해야 합니다. 또한 메시지를 받은 구성 요소로 자신을 식별해야 합니다.

오류 또는 경고의 원본이 구성 요소 자체인 경우 진단 메시지가 이를 설명해야 합니다. 따라서 메시지 텍스트에는 두 가지 형식이 있습니다. 데이터 원본에서 발생하지 않는 오류 및 경고의 경우 진단 메시지는 다음 형식을 사용해야 합니다.

[vendor-identifier][ODBC-component-identifier]component-supplied-text

데이터 원본에서 발생하는 오류 및 경고의 경우 진단 메시지는 다음 형식을 사용해야 합니다.

[vendor-identifier][ODBC-component-identifier][data-source-identifier]data-source-supplied-text

다음 표에서는 각 요소의 의미를 보여줍니다.

요소 의미
공급업체 식별자 오류 또는 경고가 발생했거나 데이터 원본에서 직접 오류 또는 경고를 받은 구성 요소의 공급업체를 식별합니다.
ODBC-component-identifier 오류 또는 경고가 발생했거나 데이터 원본에서 직접 오류 또는 경고를 받은 구성 요소를 식별합니다.
data-source-identifier 데이터 원본을 식별합니다. 파일 기반 드라이버의 경우 일반적으로 파일 형식(예: Xbase[1] DBMS 기반 드라이버의 경우 DBMS 제품)입니다.
component-supplied-text ODBC 구성 요소에 의해 생성됩니다.
data-source-supplied-text 데이터 원본에 의해 생성됩니다.

[1] 이 경우 드라이버는 드라이버와 데이터 원본의 역할을 합니다.

대괄호([ ])는 메시지에 포함되어야 하며 선택적 항목을 나타내지 않습니다.