게이트웨이 진단 예제Gateways Diagnostic Example

게이트웨이 아키텍처에서 드라이버는 ODBC를 지 원하는 게이트웨이로 요청을 보냅니다.In a gateway architecture, a driver sends requests to a gateway that supports ODBC. 게이트웨이에서 DBMS로 요청을 보냅니다.The gateway sends the requests to a DBMS. 드라이버 관리자와 상호 작용 하는 구성 요소 이므로 드라이버는 SQLGetDiagRec에 대 한 인수를 포맷 하 고 반환 합니다.Because it is the component that interfaces with the Driver Manager, the driver formats and returns arguments for SQLGetDiagRec.

예를 들어 Microsoft Open Data Services에서 Rdb에 대 한 게이트웨이 기반 Oracle을 사용 하는 경우 Rdb에서 테이블을 찾을 수 없는 경우 게이트웨이에서이 진단 메시지를 생성할 수 있습니다.For example, if Oracle based a gateway to Rdb on Microsoft Open Data Services and if Rdb could not find the table EMPLOYEE, the gateway might generate this diagnostic message:

"[42S02][-1][DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not defined "  
   "in schema."  

데이터 원본에서 오류가 발생 했으므로 게이트웨이에서 데이터 원본 식별자 ([Rdb])에 대 한 접두사를 진단 메시지에 추가 했습니다.Because the error occurred in the data source, the gateway added a prefix for the data source identifier ([Rdb]) to the diagnostic message. 게이트웨이는 데이터 원본으로 되 하는 구성 요소 이기 때문에 해당 공급 업체 ([DEC]) 및 식별자 ([ODS Gateway])에 대 한 접두사를 진단 메시지에 추가 했습니다.Because the gateway was the component that interfaced with the data source, it added prefixes for its vendor ([DEC]) and identifier ([ODS Gateway]) to the diagnostic message. 또한 SQLSTATE 값 및 Rdb 오류 코드를 진단 메시지의 시작 부분에 추가 했습니다.It also added the SQLSTATE value and the Rdb error code to the beginning of the diagnostic message. 이를 통해 자체 메시지 구조의 의미 체계를 유지 하 고 드라이버에 ODBC 진단 정보를 제공할 수 있습니다.This permitted it to preserve the semantics of its own message structure and still supply the ODBC diagnostic information to the driver. 드라이버는 게이트웨이에서 오류 문에 연결 된 오류 정보를 구문 분석 합니다.The driver parses the error information attached to the error statement by the gateway.

게이트웨이 드라이버는 드라이버 관리자와 상호 작용 하는 구성 요소 이므로 앞의 진단 메시지를 사용 하 여 SQLGetDiagRec에서 다음 값의 형식을 지정 하 고 반환 합니다.Because the gateway driver is the component that interfaces with the Driver Manager, it would use the preceding diagnostic message to format and return the following values from SQLGetDiagRec:

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