DBMS 기반 드라이버 진단 예제

DBMS 기반 드라이버는 DBMS에 요청을 보내고 드라이버 관리자를 통해 애플리케이션에 정보를 반환합니다. 드라이버는 드라이버 관리자와 인터페이스하는 구성 요소이므로 SQLGetDiagRec에 대한 인수의 형식을 지정하고 반환합니다.

예를 들어 Sql/Services를 사용하여 Oracle Rdb용 Microsoft 드라이버에 커서 이름이 잘못된 경우 SQLGetDiagRec에서 다음 값을 반환할 수 있습니다.

SQLSTATE:         "34000"  
Native Error:      0  
Diagnostic Msg:   "[Microsoft][ODBC Rdb Driver]Invalid cursor name: EMPLOYEE_CURSOR."  

드라이버에서 오류가 발생했기 때문에 공급업체([Microsoft]) 및 드라이버([ODBC Rdb 드라이버])에 대한 진단 메시지에 접두사를 추가했습니다.

DBMS에서 EMPLOYEE 테이블을 찾을 수 없는 경우 드라이버는 SQLGetDiagRec에서 다음 값의 형식을 지정하고 반환할 수 있습니다.

SQLSTATE:         "42S02"  
Native Error:      -1  
Diagnostic Msg:   "[Microsoft][ODBC Rdb Driver][Rdb] %SQL-F-RELNOTDEF, Table EMPLOYEE "  
                  "is not defined in schema."  

데이터 원본에서 오류가 발생했기 때문에 드라이버는 진단 메시지에 데이터 원본 식별자([Rdb])에 대한 접두사를 추가했습니다. 드라이버는 데이터 원본과 인터페이스되는 구성 요소이므로 해당 공급업체([Microsoft]) 및 식별자([ODBC Rdb 드라이버])에 대한 접두사를 진단 메시지에 추가했습니다.