다음을 통해 공유


방법: 프로세스 ODBC 오류(ODBC)

두 개의 ODBC 함수 호출(SQLGetDiagRecSQLGetDiagField)을 사용하여 ODBC 메시지를 검색할 수 있습니다. SQLState, pfNativeErrorMessage 진단 필드에 있는 기본 ODBC 관련 정보를 가져오려면 SQL_NO_DATA를 반환할 때까지 SQLGetDiagRec를 호출합니다. 각 진단 레코드에 대해 SQLGetDiagField를 호출하여 개별 필드를 검색할 수 있습니다. 드라이버별 필드는 모두 SQLGetDiagField를 사용하여 검색해야 합니다.

SQLGetDiagRecSQLGetDiagField는 개별 드라이버가 아니라 ODBC 드라이버 관리자에 의해 처리됩니다. ODBC 드라이버 관리자는 성공적으로 연결될 때까지 드라이버별 진단 필드를 캐시하지 않습니다. 성공적으로 연결되기 전에는 드라이버별 진단 필드에 대해 SQLGetDiagField를 호출할 수 없습니다. 여기에는 ODBC 연결 명령이 포함되며, 이러한 명령에서 SQL_SUCCESS_WITH_INFO를 반환하는 경우에도 마찬가지입니다. 다음에 ODBC 함수를 호출할 때까지 드라이버별 진단 필드를 사용할 수 없습니다.

주의

전체 예제에서는 표준 ODBC 정보를 위해 SQLGetDiagRec를 호출하는 간단한 오류 처리기를 보여 줍니다. 그런 다음 유효한 연결이 있는지 테스트하고, 있을 경우 SQL Server ODBC 드라이버별 진단 필드에 대해 SQLGetDiagField를 호출합니다.

전체 예제 코드는 MSDN의 SQL Server 다운로드(SQL Server Downloads) 페이지에서 다운로드할 수 있는 ProcessODBCErrors.cpp 파일에 있습니다. 이 예제는 Microsoft Visual C++ 2005를 사용하여 개발되었으며 ODBC 버전 3.0 이상용으로 개발되었습니다.

보안 정보보안 정보

가능하면 Windows 인증을 사용하십시오. Windows 인증을 사용할 수 없으면 런타임에 사용자에게 자격 증명을 입력하라는 메시지를 표시합니다. 자격 증명은 파일에 저장하지 않는 것이 좋습니다. 자격 증명을 유지하려면 Win32 crypto API를 사용하여 자격 증명을 암호화해야 합니다.

참고 항목

관련 자료