JavaTM Platform
Standard Ed. 6

java.sql
인터페이스 Blob

기존의 구현 클래스의 일람:
SerialBlob


public interface Blob

SQL BLOB 치의 JavaTM 프로그램 언어에서의 표현 (매핑)입니다. SQL 의 BLOB 는, 2 진라지 객체를 데이타베이스 테이블의 은행내에 열의 값으로 해서 포함하는 편입의 형태입니다. 디폴트에서는, 드라이버는 SQL 의 locator(BLOB) 를 사용해 Blob 를 구현합니다. 즉,Blob 객체는 데이터 그 자체는 아니고 SQL BLOB 데이터에의 논리 포인터를 포함합니다. Blob 객체는, 그것이 생성된 트랜잭션(transaction)의 기간중에 유효합니다.

ResultSet ,CallableStatement ,PreparedStatement 의 각 인터페이스의 메소드 (getBlob,setBlob 등)를 사용하면(자), 프로그래머는 SQL 의 BLOB 치에 액세스 할 수 있습니다. Blob 인터페이스에는, SQL 의 BLOB (2 진라지 객체) 치의 길이를 취득하는 메소드나, 클라이언트상에서 BLOB 치를 생성하는 메소드, 및 BLOB 치내의 바이트의 패턴의 위치를 판단하는 메소드가 준비되어 있습니다. 한층 더 이 인터페이스는 BLOB 치를 갱신하기 위한 메소드를 갖추고 있습니다.  

JDBC 드라이버가 그 데이터형을 지원하는 경우는,Blob 인터페이스의 모든 메소드가 완전하게 구현될 필요가 있습니다.

도입된 버젼:
1.2

메소드의 개요
 void free ()
          이 메소드는,Blob 객체를 해제해, 보관 유지되고 있는 자원을 해제합니다.
 InputStream getBinaryStream ()
          이 Blob 인스턴스에 의해 지정된 BLOB 치를 스트림로서 꺼냅니다.
 InputStream getBinaryStream (long pos, long length)
          Blob 치의 일부 (바이트 위치 pos 로부터 길이 length 바이트분 )를 포함한 InputStream 객체를 돌려줍니다.
 byte[] getBytes (long pos, int length)
          이 Blob 객체가 나타내는 BLOB 치의 전부 또는 일부를 바이트 배열로서 꺼냅니다.
 long length ()
          이 Blob 객체에 의해 지정되는 BLOB 치내에 있는 바이트의 수를 돌려줍니다.
 long position (Blob  pattern, long start)
          이 Blob 객체에 의해 지정된 BLOB 치내에서 pattern 가 시작되는 바이트 위치를 가져옵니다.
 long position (byte[] pattern, long start)
          이 Blob 객체가 나타내는 BLOB 치내에서 지정된 바이트 pattern 가 시작되는 바이트 위치를 가져옵니다.
 OutputStream setBinaryStream (long pos)
          이 BLOB 객체가 나타내는 Blob 치에의 기입해에 사용하는 스트림을 가져옵니다.
 int setBytes (long pos, byte[] bytes)
          이 Blob 객체가 나타내는 BLOB 치에 지정된 바이트 배열을 pos 의 위치로부터 기입해, 기입해진 바이트수를 돌려줍니다.
 int setBytes (long pos, byte[] bytes, int offset, int len)
          이 Blob 객체가 나타내는 BLOB 치에 지정된 byte 배열의 전부 또는 일부를 기입해, 기입해진 바이트수를 돌려줍니다.
 void truncate (long len)
          이 Blob 객체가 나타내는 BLOB 치를 len 바이트의 길이에 절약합니다.
 

메소드의 상세

length

long length()
            throws SQLException 
Blob 객체에 의해 지정되는 BLOB 치내에 있는 바이트의 수를 돌려줍니다.

반환값:
BLOB 의 길이 (바이트 단위)
예외:
SQLException - BLOB 의 길이에 액세스 할 경우에 에러가 발생했을 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.2

getBytes

byte[] getBytes(long pos,
                int length)
                throws SQLException 
Blob 객체가 나타내는 BLOB 치의 전부 또는 일부를 바이트 배열로서 꺼냅니다. byte 배열에는,pos 의 위치로부터 length 가 연속하는 바이트수가 포함됩니다.

파라미터:
pos - BLOB 치내의 최초로 추출되는 바이트의 위치 (서수). 최초의 바이트의 위치는 1
length - 카피되는 연속한 바이트수. 길이의 값은, 0 이상일 필요가 있다
반환값:
Blob 객체에 의해 지정된 BLOB 치내의,pos 의 위치로부터 length 가 연속하는 바이트수가 포함되고 있는 배열
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우. pos 가 1 보다 작은지, 또는 length 가 0 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.2
관련 항목:
setBytes(long, byte[])

getBinaryStream

InputStream  getBinaryStream()
                            throws SQLException 
Blob 인스턴스에 의해 지정된 BLOB 치를 스트림로서 꺼냅니다.

반환값:
BLOB 데이터를 포함하는 스트림
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.2
관련 항목:
setBinaryStream(long)

position

long position(byte[] pattern,
              long start)
              throws SQLException 
Blob 객체가 나타내는 BLOB 치내에서 지정된 바이트 pattern 가 시작되는 바이트 위치를 가져옵니다. pattern 의 검색은 start 의 위치로부터 시작됩니다.

파라미터:
pattern - 검색 대상의 바이트 배열
start - 검색을 개시하는 위치. 최초의 위치는 1
반환값:
패턴이 발견된 위치. 발견되지 않았던 경우는 -1
예외:
SQLException - BLOB 에 액세스 할 경우에 에러가 발생했을 경우, 또는 start 가 1 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.2

position

long position(Blob  pattern,
              long start)
              throws SQLException 
Blob 객체에 의해 지정된 BLOB 치내에서 pattern 가 시작되는 바이트 위치를 가져옵니다. 검색은,start 의 위치로부터 시작됩니다.

파라미터:
pattern - 검색 대상의 BLOB 치를 지정하는 Blob 객체
start - 검색을 개시하는 BLOB 치내의 위치. 최초의 위치는 1
반환값:
패턴을 개시하는 위치. 그 이외는 -1
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우, 또는 start 가 1 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.2

setBytes

int setBytes(long pos,
             byte[] bytes)
             throws SQLException 
Blob 객체가 나타내는 BLOB 치에 지정된 바이트 배열을 pos 의 위치로부터 기입해, 기입해진 바이트수를 돌려줍니다. 이 바이트 배열은,pos 의 위치로부터 시작되는 Blob 객체의 기존 바이트를 덧쓰기합니다. 바이트 배열의 기입중에 Blob 치의 마지막에 이르면(자), 여분의 바이트를 포함하기 위해서 Blob 치의 길이가 증가합니다.  

주:pos 로 지정된 값이 BLOB 치의 length + 1 보다 큰 경우, 동작은 미정도리입니다. JDBC 드라이버에 의해,SQLException 를 throw 하는 것도 있으면, 이 조작을 지원하는 것도 있을 가능성이 있습니다.

파라미터:
pos - 기입을 개시하는 BLOB 객체내의 위치. 최초의 위치는 1
bytes - 이 Blob 객체를 나타낸다 BLOB 치에 기입해지는 바이트 배열
반환값:
기입해지는 바이트수
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우, 또는 pos 가 1 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.4
관련 항목:
getBytes(long, int)

setBytes

int setBytes(long pos,
             byte[] bytes,
             int offset,
             int len)
             throws SQLException 
Blob 객체가 나타내는 BLOB 치에 지정된 byte 배열의 전부 또는 일부를 기입해, 기입해진 바이트수를 돌려줍니다. 기입은,BLOB 치의 pos 의 위치로부터 개시되어 기입처의 지정된 바이트 배열로부터 len 바이트 기입해집니다. 이 바이트 배열은,pos 의 위치로부터 시작되는 Blob 객체의 기존 바이트를 덧쓰기합니다. 바이트 배열의 기입중에 Blob 치의 마지막에 이르면(자), 여분의 바이트를 포함하기 위해서 Blob 치의 길이가 증가합니다.  

주:pos 로 지정된 값이 BLOB 치의 length + 1 보다 큰 경우, 동작은 미정도리입니다. JDBC 드라이버에 의해,SQLException 를 throw 하는 것도 있으면, 이 조작을 지원하는 것도 있을 가능성이 있습니다.

파라미터:
pos - 기입을 개시하는 BLOB 객체내의 위치. 최초의 위치는 1
bytes - 이 BLOB 객체에 기입해지는 바이트 배열
offset - 설정하는 바이트의 read를 개시하는, 배열 bytes 에의 오프셋(offset)
len - 바이트 배열 bytes 로부터 BLOB 치에 기입해지는 바이트수
반환값:
기입해지는 바이트수
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우, 또는 pos 가 1 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.4
관련 항목:
getBytes(long, int)

setBinaryStream

OutputStream  setBinaryStream(long pos)
                             throws SQLException 
BLOB 객체가 나타내는 Blob 치에의 기입해에 사용하는 스트림을 가져옵니다. 스트림은 pos 의 위치로부터 개시합니다. 스트림에 기입해지는 바이트는,pos 의 위치로부터 시작되는 Blob 객체의 기존 바이트를 덧쓰기합니다. 스트림에의 기입해 안에 Blob 치의 마지막에 이르면(자), 여분의 바이트를 포함하기 위해서 Blob 치의 길이가 증가합니다.  

주:pos 로 지정된 값이 BLOB 치의 length + 1 보다 큰 경우, 동작은 미정도리입니다. JDBC 드라이버에 의해,SQLException 를 throw 하는 것도 있으면, 이 조작을 지원하는 것도 있을 가능성이 있습니다.

파라미터:
pos - 기입을 개시하는 BLOB 치내의 위치. 최초의 위치는 1
반환값:
데이터가 기입해지는 java.io.OutputStream 객체
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우, 또는 pos 가 1 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.4
관련 항목:
getBinaryStream()

truncate

void truncate(long len)
              throws SQLException 
Blob 객체가 나타내는 BLOB 치를 len 바이트의 길이에 절약합니다.  

주:pos 로 지정된 값이 BLOB 치의 length + 1 보다 큰 경우, 동작은 미정도리입니다. JDBC 드라이버에 의해,SQLException 를 throw 하는 것도 있으면, 이 조작을 지원하는 것도 있을 가능성이 있습니다.

파라미터:
len - 이 Blob 객체가 나타내는 BLOB 값을 절약할 수 있는 길이 (바이트 단위)
예외:
SQLException - BLOB 치에 액세스 할 경우에 에러가 발생했을 경우, 또는 len 가 0 보다 작은 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.4

free

void free()
          throws SQLException 
이 메소드는,Blob 객체를 해제해, 보관 유지되고 있는 자원을 해제합니다. free 메소드가 한 번 불려 간 뒤는, 객체는 무효가 됩니다.

free 가 불려 가면(자),free 이외의 메소드를 호출하려고 해도,SQLException 가 throw 됩니다. free 를 여러 차례 호출했을 경우, 2 번째 이후의 free 호출은 아무것도 실시하지 않는 것으로서 다루어집니다.

예외:
SQLException - Blob 의 자원을 해제할 경우에 에러가 발생했을 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.6

getBinaryStream

InputStream  getBinaryStream(long pos,
                            long length)
                            throws SQLException 
Blob 치의 일부 (바이트 위치 pos 로부터 길이 length 바이트분 )를 포함한 InputStream 객체를 돌려줍니다.

파라미터:
pos - 취득하는 부분치의 최초의 바이트까지의 오프셋(offset). Blob 내에서 최초의 바이트의 위치는 1
length - 취득하는 부분치의 길이 (바이트 단위)
반환값:
Blob 치의 일부를 읽어낼 수 있는 InputStream
예외:
SQLException - pos 가 1 보다 작은 경우, pos 가 Blob 내의 바이트수보다 큰 경우, 또는 pos + length 가 Blob 내의 바이트수보다 큰 경우
SQLFeatureNotSupportedException - JDBC 드라이버가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.6

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.