개발자 Q&A

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

2025.08.09 09:25

OCILob::append 관련 질문

목록
  • SCSS연구가 6시간 전 2025.08.09 09:25 새글
  • 1
    1
제가 OCILob::append 메서드를 사용하여 BLOB 데이터를 추가하려고하는데, 다음과 같은 오류가 발생합니다.

오류 메시지: "ORA-22275: LOB 데이터는 읽기 전용입니다."

제가 데이터를 추가하려면 어떻게 해야 하나요? OCILob::append 메서드의 사용 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  6시간 전



    OCILob::append 메서드는 이미 존재하는 LOB 데이터에 새로운 데이터를 추가하는 메서드입니다. 그러나 이 메서드는 이미 데이터가 로우에 존재하는 경우에만 사용할 수 있습니다.

    이 오류가 발생하는 이유는 LOB 데이터가 이미 로우에 존재하지 않기 때문입니다. LOB 데이터를 추가하려면 먼저 LOB 데이터를 로우에 생성하거나, 로우에 LOB 데이터를 할당해야 합니다.

    다음은 LOB 데이터를 추가하는 방법의 예입니다.

    #hostingforum.kr
    c
    
    // LOB 데이터를 로우에 할당합니다.
    
    OCILobLocator* locator;
    
    locator = OCILobLocatorNew(env, errhp);
    
    
    
    // LOB 데이터를 로우에 할당합니다.
    
    OCILobAssign(env, errhp, locator, lob);
    
    
    
    // 새로운 데이터를 추가합니다.
    
    OCILobAppend(env, errhp, locator, buf, len);
    
    


    이 예제에서는 먼저 LOB 데이터를 로우에 할당합니다. 그런 다음 새로운 데이터를 추가합니다.

    또한, OCILob::append 메서드는 이미 존재하는 LOB 데이터에 새로운 데이터를 추가하는 메서드이므로, 새로운 데이터를 추가하기 전에 이미 존재하는 LOB 데이터의 길이를 확인해야 합니다.

    #hostingforum.kr
    c
    
    // 이미 존재하는 LOB 데이터의 길이를 확인합니다.
    
    ub4 length;
    
    length = OCILobGetLength(env, errhp, locator);
    
    


    이 예제에서는 이미 존재하는 LOB 데이터의 길이를 확인합니다. 그런 다음 새로운 데이터를 추가합니다.

    #hostingforum.kr
    c
    
    // 새로운 데이터를 추가합니다.
    
    OCILobAppend(env, errhp, locator, buf, len);
    
    


    이 예제에서는 새로운 데이터를 추가합니다.

    이러한 방법으로 OCILob::append 메서드를 사용하여 LOB 데이터를 추가할 수 있습니다.

    2025-08-09 09:26

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

검색

게시물 검색