파이어버드의 텍스트 BLOB 크기 제한이 그런 제한은 없습니다.
32k로 제한되는 것은 BLOB가 아니라 char/varchar 타입들입니다.
varchar 타입도 32k가 되는데 BLOB가 varchar와 똑같이 32k까지라는 건 말이 안되지요?
http://firebird.borlandforum.com/impboard/impboard.dll?action=read&db=fb_tip&no=13
아래 리플을 보니까 일본 파이어버드 사이트 운영자도 그렇게 답변했다고 하는데...
그 운영자가 잘못 알고 있거나, 혹은 답변 전달 과정에서 오역이 있었거나 그런 것 같군요.
아시다시피 이 포럼도 파이어버드로 운영되는데, 글의 내용 부분이 저장되는 필드의 타입이 BLOB 서브타입 TEXT입니다.
BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET NONE
그리고 이 포럼에 지금까지 올라온 글들 중에 32k가 넘는 글은 적지 않습니다.
금방 기억나는 게 몇년전에 해피브레이크 게시판에 올라왔던 오뎅장사 이야기 글인데요.
지금 다시 확인해보니 그 글의 크기가 92k가 넘습니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=happybreak&no=119
그리고 이 문제는 파이어버드 1.x와 2.x 버전간의 차이도 아닙니다.
아시다시피 이 포럼에서 파이어버드 1.5x를 쓰다가 2.0 베타로 업그레이드한 것이 바로 저번달 19일입니다.
그리고 앞의 글이 올라온 것은 2002년 3월이었기 때문에 당시에는 1.5조차도 아닌 파이어버드 1.0 베타를 쓰고 있었습니다.
당연한 것이, 앞에서 링크한 최대크기 관련으로 제가 썼던 팁 게시판의 글 내용처럼 인터베이스6에서도 동일하며,
파이어버드의 최근 버전에서 개선된 기능도 아니니까요.
저도 파이어버드에서 지원하는 최대 BLOB 크기인 32GB까지는 시도해보지 않았습니다. 그렇게까지 해볼 경우가 별로
없으니까요. 하지만 적어도 BLOB 크기가 32k가 한계라는 것은 얼토당토하지도 않죠. 다시 말씀드리지만 크기가 32k로
제한되는 것은 BLOB가 아니라 varchar/char 타입입니다.
그럼...
초환 님이 쓰신 글 :
: 안녕하세요
: INSERT INTO 문으로 텍스트 blob 저장 하려고 하는대
: 32,767 bytes 이상 를 넘으면 저장이 안되네요.
: 설명서를 보면 BLOB 데이터를 읽고 쓸때는 일반 쿼리와
: 다른 방식으로 작업이 이루어진다고 하는데 어떤 방식으로
: 저장 하는지 모르겠어요..
: 제발 알려주시면 감사하겠습니다.