- 既知のすべての実装クラス:
- SerialBlob
BLOB値のJavaプログラミング言語での(マッピング)表現。 SQLのBLOBは、バイナリ・ラージ・オブジェクトをデータベース表の行内に列の値として格納する組込みの型です。 デフォルトでは、ドライバはSQLのlocator(BLOB)を使用してBlobを実装します。つまり、BlobオブジェクトはデータそのものではなくSQL BLOBデータへの論理ポインタを格納します。 Blobオブジェクトは、それが生成されたトランザクションの期間中に有効です。 
 ResultSet、CallableStatement、およびPreparedStatementの各インタフェースのメソッド(getBlob、setBlobなど)を使用すると、プログラマはSQLのBLOB値にアクセスできます。 Blobインタフェースには、SQLのBLOB (バイナリ・ラージ・オブジェクト)値の長さを取得するメソッドや、クライアント上でBLOB値を生成するメソッド、およびBLOB値内のバイトのパターンの位置を判断するメソッドが用意されています。 さらにこのインタフェースはBLOB値を更新するためのメソッドを備えています。 
 
 JDBCドライバがそのデータ型をサポートする場合は、Blobインタフェースのすべてのメソッドが完全に実装される必要があります。
- 導入されたバージョン:
- 1.2
- 
メソッドのサマリー修飾子と型メソッド説明voidfree()このメソッドは、Blobオブジェクトを解放して、保持されているリソースを解放します。このBlobインスタンスによって指定されたBLOB値をストリームとして取り出します。getBinaryStream(long pos, long length) Blob値の一部(バイト位置posから長さlengthバイト分)を格納したInputStreamオブジェクトを返します。byte[]getBytes(long pos, int length) このBlobオブジェクトが表すBLOB値の全部または一部をバイト配列として取り出します。longlength()このBlobオブジェクトによって指定されるBLOB値内にあるバイトの数を返します。longposition(byte[] pattern, long start) このBlobオブジェクトが表すBLOB値内で指定されたバイト配列patternが始まるバイト位置を取得します。longこのBlobオブジェクトによって指定されたBLOB値内でpatternが始まるバイト位置を取得します。setBinaryStream(long pos) このBlobオブジェクトが表すBLOB値への書込みに使用できるストリームを取得します。intsetBytes(long pos, byte[] bytes) このBlobオブジェクトが表すBLOB値へ指定されたバイト配列をposの位置から書き込み、書き込まれたバイト数を返します。intsetBytes(long pos, byte[] bytes, int offset, int len) このBlobオブジェクトが表すBLOB値へ指定されたbyte配列の全部または一部を書き込み、書き込まれたバイト数を返します。voidtruncate(long len) このBlobオブジェクトが表すBLOB値をlenバイトの長さに切り詰めます。
- 
メソッドの詳細- 
lengthlong length() throws SQLExceptionこのBlobオブジェクトによって指定されるBLOB値内にあるバイトの数を返します。- 戻り値:
- BLOBの長さ(バイト単位)
- 例外:
- SQLException-- BLOBの長さにアクセスするときにエラーが発生した場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.2
 
- 
getBytesbyte[] 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
- 関連項目:
 
- 
getBinaryStreamInputStream getBinaryStream() throws SQLExceptionこのBlobインスタンスによって指定されたBLOB値をストリームとして取り出します。- 戻り値:
- BLOBデータを格納するストリーム
- 例外:
- SQLException-- BLOB値にアクセスするときにエラーが発生した場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.2
- 関連項目:
 
- 
positionlong position(byte[] pattern, long start) throws SQLException このBlobオブジェクトが表すBLOB値内で指定されたバイト配列patternが始まるバイト位置を取得します。patternの検索はstartの位置から始まります。- パラメータ:
- pattern- 検索対象のbyteの配列
- start- 検索を開始する位置。最初の位置は1
- 戻り値:
- パターンが見つかった位置。見つからなかった場合は -1
- 例外:
- SQLException-- BLOBにアクセスするときにエラーが発生した場合、またはstartが1より小さい場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.2
 
- 
positionlong 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
 
- 
setBytesint setBytes(long pos, byte[] bytes) throws SQLException このBlobオブジェクトが表すBLOB値へ指定されたバイト配列をposの位置から書き込み、書き込まれたバイト数を返します。 このバイト配列は、posの位置から始まるBlobオブジェクトの既存バイトを上書きします。 バイト配列の書込み中にBlob値の終わりに達すると、余分なバイトを格納するためにBlob値の長さが増加します。ノート: posに指定された値がBLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。- パラメータ:
- pos- 書込みを開始する- BLOBオブジェクト内の位置。最初の位置は1
- bytes- この- Blobオブジェクトを表す- BLOB値へ書き込まれるバイト配列
- 戻り値:
- 書き込まれるバイト数
- 例外:
- SQLException-- BLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
setBytesint setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException このBlobオブジェクトが表すBLOB値へ指定されたbyte配列の全部または一部を書き込み、書き込まれたバイト数を返します。 書込みは、BLOB値のposの位置から開始され、指定されたバイト配列からlenバイト書き込まれます。 このバイト配列は、posの位置から始まるBlobオブジェクトの既存バイトを上書きします。 バイト配列の書込み中にBlob値の終わりに達すると、余分なバイトを格納するためにBlob値の長さが増加します。ノート: posに指定された値がBLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。- パラメータ:
- pos- 書込みを開始する- BLOBオブジェクト内の位置。最初の位置は1
- bytes- この- BLOBオブジェクトへ書き込まれるバイト配列
- offset- 設定するバイトの読込みを開始する、配列- bytesへのオフセット
- len-- bytesバイトの配列から- BLOB値に書き込まれるバイト数
- 戻り値:
- 書き込まれるバイト数
- 例外:
- SQLException-- BLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
setBinaryStreamこのBlobオブジェクトが表すBLOB値への書込みに使用できるストリームを取得します。 ストリームはposの位置から開始します。 ストリームに書き込まれるバイトは、posの位置から始まるBlobオブジェクトの既存バイトを上書きします。 ストリームへの書込み中にBlob値の終わりに達すると、余分なバイトを格納するためにBlob値の長さが増加します。ノート: posに指定された値がBLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。- パラメータ:
- pos- 書込みを開始する- BLOB値内の位置。最初の位置は1
- 戻り値:
- データが書き込まれるjava.io.OutputStreamオブジェクト
- 例外:
- SQLException-- BLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
truncatevoid truncate(long len) throws SQLException このBlobオブジェクトが表すBLOB値をlenバイトの長さに切り詰めます。ノート: posに指定された値がBLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。- パラメータ:
- len- この- Blobオブジェクトが表す- BLOB値が切り詰められる長さ(バイト単位)
- 例外:
- SQLException-- BLOB値にアクセスするときにエラーが発生した場合、またはlenが0より小さい場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.4
 
- 
freevoid free() throws SQLExceptionこのメソッドは、Blobオブジェクトを解放して、保持されているリソースを解放します。freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。freeが呼び出された後、free以外のメソッドを呼び出そうとすると、SQLExceptionがスローされます。freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。- 例外:
- SQLException- Blobのリソースの解放時にエラーが発生した場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.6
 
- 
getBinaryStreamBlob値の一部(バイト位置posから長さlengthバイト分)を格納したInputStreamオブジェクトを返します。- パラメータ:
- pos- 取得する部分値の最初のバイトまでのオフセット。- Blob内で最初のバイトの位置は1
- length- 取得する部分値の長さ(バイト単位)
- 戻り値:
- Blob値の一部を読み取ることのできる- InputStream。
- 例外:
- SQLException- posが1より小さい場合、posが- Blob内のバイト数より大きい場合、またはpos+lengthが- Blob内のバイト数より大きい場合
- SQLFeatureNotSupportedException- JDBCドライバがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.6
 
 
-