2013-07-23 2 views
0

다음 표가 있습니다. 64K 이상인 BLOB를 삽입해야합니다. 나는 다음과 같은 테이블이다 :BLOB 데이터를 Teradata 테이블에 삽입하는 방법은 무엇입니까?

create table MYtable 
(c1 INTEGER 
,c2 BLOB 
); 

INSERT MYtable(
9292,'DEADBEEF1DEADBEEF2DEADBEEF3DEADBEEFDEADBEEF1DEADBEEF2DEADBEEF3DEADBEEF44DEADBEEF1DEADBEEF2DEADBEEF3DEADBEEFDEADBEEF1DEADBEEF2DEADBEEF3DEADBEEF44'XB 
); 

만약 내가 64KB보다 더 많은 blob을 삽입하고자한다면, 대응하는 문자열은 매우 커질 것이다. BLOB에 64KB가 넘는 이미지 나 PDF 파일을 삽입 할 수 없습니까?

+0

"나는 64킬로바이트보다 덩어리 더 삽입 할 경우 해당 문자열이 너무 큰 것"- 그래서? –

+0

@MitchWheat 그래서 그 열 대신에 그 문자열에 파일을 삽입하려고 생각했습니다. – sattu

답변

0

64KB 이상을 직접 삽입 할 수 없으므로 (B | C) LOB 데이터는 파일에 저장해야합니다.

처음 테라 데이타의 개발자 거래소에이 기사를 읽는 게 좋을 것 :

http://developer.teradata.com/applications/articles/large-objects-part-1-loading

+0

첨부 된 기사에서는 'FileInputStream'이 사용 된 예제를 제공하지만'ByteArrayInputStream'을 사용하여 5MB를 "직접 삽입"했습니다. 기사가 오래 되었습니까? – jordanpg

+0

@jordanpg : 아니오, 읽습니다. * 예를 들어 테이블에 Java Object를 저장 (유지)하려면 바이트 배열 (byte [])로 변환하고 ByteArrayInputStream을 사용하여 BLOB 열에 저장할 수 있습니다 * – dnoeth

+0

아, 고맙습니다. 나는 64k를 직접 삽입 할 수 없다는 위의 의견에 대해서도 궁금합니다. – jordanpg

관련 문제