
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