|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface Blob
SQL BLOB
値の JavaTM プログラミング言語での表現 (マッピング) です。SQL の BLOB
は、2 進ラージオブジェクトをデータベーステーブルの行内に列の値として格納する組み込みの型です。デフォルトでは、ドライバは SQL の locator(BLOB)
を使用して Blob
を実装します。つまり、Blob
オブジェクトはデータそのものではなく SQL BLOB
データへの論理ポインタを格納します。Blob
オブジェクトは、それが生成されたトランザクションの期間中に有効です。
ResultSet
、CallableStatement
、PreparedStatement
の各インタフェースのメソッド (getBlob
、setBlob
など) を使用すると、プログラマは SQL の BLOB
値にアクセスできます。Blob
インタフェースには、SQL の BLOB
(2 進ラージオブジェクト) 値の長さを取得するメソッドや、クライアント上で BLOB
値を生成するメソッド、および BLOB
値内のバイトのパターンの位置を判断するメソッドが用意されています。さらにこのインタフェースは BLOB
値を更新するためのメソッドを備えています。
JDBC ドライバがそのデータ型をサポートする場合は、Blob
インタフェースのすべてのメソッドが完全に実装される必要があります。
メソッドの概要 | |
---|---|
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 バイトの長さに切り詰めます。 |
メソッドの詳細 |
---|
long length() throws SQLException
Blob
オブジェクトによって指定される BLOB
値内にあるバイトの数を返します。
BLOB
の長さ (バイト単位)
SQLException
- BLOB
の長さにアクセスするときにエラーが発生した場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合byte[] getBytes(long pos, int length) throws SQLException
Blob
オブジェクトが表す BLOB
値の全部または一部をバイト配列として取り出します。byte
配列には、pos
の位置から length
の連続するバイト数が格納されます。
pos
- BLOB
値内の最初に抽出されるバイトの位置 (序数)。最初のバイトの位置は 1length
- コピーされる連続したバイト数。長さの値は、0 以上である必要がある
Blob
オブジェクトによって指定された BLOB
値内の、pos
の位置から length
の連続するバイト数が格納されている配列
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合。pos が 1 より小さいか、または length が 0 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合setBytes(long, byte[])
InputStream getBinaryStream() throws SQLException
Blob
インスタンスによって指定された BLOB
値をストリームとして取り出します。
BLOB
データを格納するストリーム
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合setBinaryStream(long)
long position(byte[] pattern, long start) throws SQLException
Blob
オブジェクトが表す BLOB
値内で指定されたバイト pattern
が始まるバイト位置を取得します。pattern
の検索は start
の位置から始まります。
pattern
- 検索対象のバイト配列start
- 検索を開始する位置。最初の位置は 1
SQLException
- BLOB
にアクセスするときにエラーが発生した場合、または start が 1 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合long position(Blob pattern, long start) throws SQLException
Blob
オブジェクトによって指定された BLOB
値内で pattern
が始まるバイト位置を取得します。検索は、start
の位置から始まります。
pattern
- 検索対象の BLOB
値を指定する Blob
オブジェクトstart
- 検索を開始する BLOB
値内の位置。最初の位置は 1
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合、または start が 1 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合int setBytes(long pos, byte[] bytes) throws SQLException
Blob
オブジェクトが表す BLOB
値へ指定されたバイト配列を pos
の位置から書き込み、書き込まれたバイト数を返します。このバイト配列は、pos
の位置から始まる Blob
オブジェクトの既存バイトを上書きします。バイト配列の書き込み中に Blob
値の終わりに達すると、余分なバイトを格納するために Blob
値の長さが増加します。
注:pos
に指定された値が BLOB
値の length + 1 より大きい場合、動作は未定義です。JDBC ドライバによって、SQLException
をスローするものもあれば、この操作をサポートするものもある可能性があります。
pos
- 書き込みを開始する BLOB
オブジェクト内の位置。最初の位置は 1bytes
- この Blob
オブジェクトを表す BLOB
値へ書き込まれるバイト配列
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合、または pos が 1 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合getBytes(long, int)
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
をスローするものもあれば、この操作をサポートするものもある可能性があります。
pos
- 書き込みを開始する BLOB
オブジェクト内の位置。最初の位置は 1bytes
- この BLOB
オブジェクトへ書き込まれるバイト配列offset
- 設定するバイトの読み込みを開始する、配列 bytes
へのオフセットlen
- バイト配列 bytes
から BLOB
値へ書き込まれるバイト数
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合、または pos が 1 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合getBytes(long, int)
OutputStream setBinaryStream(long pos) throws SQLException
BLOB
オブジェクトが表す Blob
値への書き込みに使用するストリームを取得します。ストリームは pos
の位置から開始します。ストリームに書き込まれるバイトは、pos
の位置から始まる Blob
オブジェクトの既存バイトを上書きします。ストリームへの書き込み中に Blob
値の終わりに達すると、余分なバイトを格納するために Blob
値の長さが増加します。
注:pos
に指定された値が BLOB
値の length + 1 より大きい場合、動作は未定義です。JDBC ドライバによって、SQLException
をスローするものもあれば、この操作をサポートするものもある可能性があります。
pos
- 書き込みを開始する BLOB
値内の位置。最初の位置は 1
java.io.OutputStream
オブジェクト
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合、または pos が 1 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合getBinaryStream()
void truncate(long len) throws SQLException
Blob
オブジェクトが表す BLOB
値を len
バイトの長さに切り詰めます。
注:pos
に指定された値が BLOB
値の length + 1 より大きい場合、動作は未定義です。JDBC ドライバによって、SQLException
をスローするものもあれば、この操作をサポートするものもある可能性があります。
len
- この Blob
オブジェクトが表す BLOB
値が切り詰められる長さ (バイト単位)
SQLException
- BLOB
値にアクセスするときにエラーが発生した場合、または len が 0 より小さい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合void free() throws SQLException
Blob
オブジェクトを解放して、保持されているリソースを解放します。free
メソッドが一度呼び出されたあとは、オブジェクトは無効になります。
free
が呼び出されると、free
以外のメソッドを呼び出そうとしても、SQLException
がスローされます。free
を複数回呼び出した場合、2 回目以降の free
呼び出しは何も行わないものとして扱われます。
SQLException
- Blob のリソースの解放時にエラーが発生した場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合InputStream getBinaryStream(long pos, long length) throws SQLException
Blob
値の一部 (バイト位置 pos から長さ length バイト分) を格納した InputStream
オブジェクトを返します。
pos
- 取得する部分値の最初のバイトまでのオフセット。Blob
内で最初のバイトの位置は 1length
- 取得する部分値の長さ (バイト単位)
Blob
値の一部を読み取ることのできる InputStream
SQLException
- pos が 1 より小さい場合、pos が Blob
内のバイト数より大きい場合、または pos + length が Blob
内のバイト数より大きい場合
SQLFeatureNotSupportedException
- JDBC ドライバがこのメソッドをサポートしない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。