JavaTM 2
Platform
Std. Ed. v1.4.0

java.sql
インタフェース Blob


public interface Blob

SQL BLOB 値の JavaTM プログラミング言語での表現 (マッピング) です。SQL BLOB は、バイナリラージオブジェクトをデータベーステーブルの行に列値として格納する組み込み型です。デフォルトでは、ドライバは SQL locator(BLOB) を使って Blob を実装します。つまり、Blob オブジェクトはデータそのものではなく、SQL BLOB データへの論理ポインタを格納します。Blob オブジェクトは、それが生成されたトランザクションの期間中に有効です。

ResultSetCallableStatementPreparedStatement の各インタフェースのメソッド (getBlobsetBlob など) を使うと、プログラマは SQL BLOB 値にアクセスできます。Blob インタフェースは、SQL BLOB (バイナリラージオブジェクト) 値の長さを取得するためのメソッド、クライアントで BLOB 値を生成するためのメソッド、および BLOB 値でのバイトパターンの位置を判定するためのメソッドを提供します。さらにこのインタフェースは BLOB 値を更新するためのメソッドを備えています。

導入されたバージョン:
1.2

メソッドの概要
 InputStream getBinaryStream()
          この Blob インスタンスによって指定された BLOB 値をストリームとして取り出します。
 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

public long length()
            throws SQLException
この Blob オブジェクトによって指定された BLOB 値のバイト数を返します。

戻り値:
BLOB の長さ (バイト単位)
例外:
SQLException - BLOB の長さにアクセスするときにエラーが発生した場合
導入されたバージョン:
1.2

getBytes

public byte[] getBytes(long pos,
                       int length)
                throws SQLException
この Blob オブジェクトが表す BLOB 値の全部または一部をバイト配列として取り出します。byte 配列には、pos の位置から length の連続するバイト数が格納されます。

パラメータ:
pos - BLOB 値内の最初に抽出されるバイトの位置 (序数)。最初のバイトの位置は 1
length - コピー対象の連続するバイトの数
戻り値:
この Blob オブジェクトによって指定された BLOB 値内の、pos の位置から length の連続するバイト数が格納されている配列
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
setBytes(long, byte[])

getBinaryStream

public InputStream getBinaryStream()
                            throws SQLException
この Blob インスタンスによって指定された BLOB 値をストリームとして取り出します。

戻り値:
BLOB データを格納するストリーム
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
setBinaryStream(long)

position

public long position(byte[] pattern,
                     long start)
              throws SQLException
この Blob オブジェクトが表す BLOB 値内で指定されたバイト pattern が始まるバイト位置を取得します。pattern の検索は、start の位置から開始されます。

パラメータ:
pattern - 検索対象のバイト配列
start - 検索を開始する位置。最初の位置は 1
戻り値:
パターンが見つかった位置。見つからなかった場合は -1
例外:
SQLException - BLOB にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.2

position

public long position(Blob pattern,
                     long start)
              throws SQLException
この Blob オブジェクトによって指定された BLOB 値内で pattern が始まるバイト位置を取得します。検索は、start の位置で開始されます。

パラメータ:
pattern - 検索対象の BLOB 値を指定する Blob オブジェクト
start - 検索を開始する BLOB 値内の位置。最初の位置は 1
戻り値:
パターンを開始する位置。それ以外は -1
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.2

setBytes

public int setBytes(long pos,
                    byte[] bytes)
             throws SQLException
この Blob オブジェクトが表す BLOB 値へ指定されたバイト配列を pos の位置から書き込み、書き込まれたバイト数を返します。

パラメータ:
pos - BLOB オブジェクトの書き込みを開始する位置
bytes - この Blob オブジェクトが表す BLOB 値へ書き込まれるバイト配列
戻り値:
書き込まれるバイト数
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.4
関連項目:
getBytes(long, int)

setBytes

public int setBytes(long pos,
                    byte[] bytes,
                    int offset,
                    int len)
             throws SQLException
この Blob オブジェクトが表す BLOB 値へ指定された byte 配列の全部または一部を書き込みます。書き込みは、BLOB 値の pos の位置から開始され、指定されたバイト配列の len バイトが書き込まれます。

パラメータ:
pos - Blob オブジェクトの書き込みを開始する位置
bytes - この BLOB オブジェクトへ書き込まれるバイト配列
offset - 設定するバイトの読み込みを開始する、配列 bytes へのオフセット
len - バイト配列 bytes から BLOB 値へ書き込まれるバイト数
戻り値:
書き込まれるバイト数
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.4
関連項目:
getBytes(long, int)

setBinaryStream

public OutputStream setBinaryStream(long pos)
                             throws SQLException
この Blob オブジェクトが表す BLOB 値への書き込みに使用するストリームを取得します。ストリームは pos の位置から開始します。

パラメータ:
pos - BLOB 値の書き込みを開始する位置
戻り値:
データが書き込まれる java.io.OutputStream オブジェクト
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.4
関連項目:
getBinaryStream()

truncate

public void truncate(long len)
              throws SQLException
この Blob オブジェクトが表す BLOB 値を len バイトの長さに切り詰めます。

パラメータ:
len - この Blob オブジェクトが表す BLOB 値が切り詰められる長さ (バイト単位)
例外:
SQLException - BLOB 値にアクセスするときにエラーが発生した場合
導入されたバージョン:
1.4

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.