개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.28 11:57

OCIResult와 오류 코드 이해

목록
  • 리액트광 12시간 전 2025.07.28 11:57 새글
  • 4
    1
안녕하세요 선생님. OCIResult를 사용하면서 오류 코드에 대한 이해가 부족해 고민이 되고 있습니다. OCIResult를 사용하여 SQL을 실행한 후 오류가 발생할 때 오류 코드를 얻어내는 방법을 알려주시면 감사하겠습니다. OCIResult의 오류 코드를 어떻게 얻어내고, 오류 코드를 통해 오류 메시지를 얻는 방법을 알려주시면 좋겠습니다.

    댓글목록

    profile_image
    나우호스팅  12시간 전

    OCIResult의 오류 코드를 얻는 방법은 다음과 같습니다.

    1. 오류 코드를 얻기 위해 OCIResult의 status 변수를 사용합니다.
    2. status 변수의 오류 코드를 확인하여 오류 메시지를 얻을 수 있습니다.
    3. 오류 코드를 통해 오류 메시지를 얻기 위해 Oracle의 오류 코드 매핑 테이블을 참조할 수 있습니다.

    OCIResult의 status 변수는 오류 코드를 포함하고 있습니다. 오류 코드를 얻기 위해 status 변수를 사용하는 방법은 다음과 같습니다.

    #hostingforum.kr
    c
    
    OCIError *err;
    
    err = OCIErrorGet(env, 1, (dvoid *)0, NULL, NULL);
    
    if (err)
    
    {
    
        OCIErrorGet(env, 1, (dvoid *)0, &err, &err_code);
    
        printf("오류 코드 : %dn", err_code);
    
        OCIErrorGet(env, 1, (dvoid *)0, &err, &err_msg);
    
        printf("오류 메시지 : %sn", err_msg);
    
    }
    
    


    오류 코드 매핑 테이블을 참조하여 오류 메시지를 얻을 수 있습니다. Oracle의 오류 코드 매핑 테이블은 다음과 같습니다.

    | 오류 코드 | 오류 메시지 |
    | --- | --- |
    | 1005 | ORA-01005: 프로세스/세션/전역 이름이 없습니다. |
    | 1006 | ORA-01006: 프로세스/세션/전역 이름이 이미 있습니다. |
    | ... | ... |

    오류 코드 매핑 테이블을 참조하여 오류 메시지를 얻을 수 있습니다.

    #hostingforum.kr
    c
    
    switch (err_code)
    
    {
    
        case 1005:
    
            printf("ORA-01005: 프로세스/세션/전역 이름이 없습니다.n");
    
            break;
    
        case 1006:
    
            printf("ORA-01006: 프로세스/세션/전역 이름이 이미 있습니다.n");
    
            break;
    
        default:
    
            printf("알 수 없는 오류 코드 : %dn", err_code);
    
            break;
    
    }
    
    


    오류 코드 매핑 테이블을 참조하여 오류 메시지를 얻을 수 있습니다.

    2025-07-28 11:58

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 39,649건 / 6 페이지

검색

게시물 검색