현재 informix에 esql/c를 사용하는데요 db의 데이타 타입은 text타입으로
되어있고요 ,아레 소스와 같은 내용인데요
.....
data.loc_loctype = LOCMEMORY; (memory형과 filename중 memory형으로)
data.loc_buffer = temp_buffer; (text type에 들어갈 자료들)
data.loc_bufsize = len(temp_buffer); ( 자료들의 최대길이)
data.loc_size = len(temp_buffer) + 1; ( 자료들의 최대길이)
....
EXEC SQL insert into test ( a ) values (:data);
...
이런식으로 처리하면 temp_buffer에 저장된 많은 내용의 데이타가 저장되더군요
그런데 문제는 temp_buffer의 길이가 너무 클 경우 (테스트결과 16000byte정도) 넘어가면
insert가 안되더군요 . select는 크기를 알수있으니 문제없거는요.
blob type(text형)이 어느 정도의 양을 처리하는지 알고 싶습니다.(그 디폴트 값을 알면 파일을 그양에서
자르던지 ..할수 있잖아요, 이런 내용 인포믹스 책 뒤져봐도 없더라구요
예를 들어 char은 256 byte,varchar는 2048이니까 그에 맞게 할수 있는데 이런경우는 어찌해야할지..
제가 blob 타입처리는 처음이라 난감합니다.
아주 간단하게라도 답변 또는 참고 싸이트를 알려주시면 정말감사하겠습니다.
|