モジュール java.sql
パッケージ java.sql

インタフェースClob

  • 既知のすべてのサブインタフェース:
    NClob
    既知のすべての実装クラス:
    SerialClob

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

    Clobインタフェースは、SQLのCLOB (キャラクタ・ラージ・オブジェクト)値の長さを取得するためのメソッド、クライアントでCLOB値を生成するためのメソッド、およびCLOB値内で部分文字列またはCLOBオブジェクトを検索するためのメソッドを提供します。 ResultSetCallableStatement、およびPreparedStatementの各インタフェースのメソッド(getClobsetClobなど)を使用すると、プログラマはSQLのCLOB値にアクセスできます。 さらにこのインタフェースはCLOB値を更新するためのメソッドを備えています。

    JDBCドライバがそのデータ型をサポートする場合は、Clobインタフェースのすべてのメソッドが完全に実装される必要があります。

    導入されたバージョン:
    1.2
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      void free()
      このメソッドは、Clobオブジェクトが保持するリソースを解放します。
      InputStream getAsciiStream()
      このClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。
      Reader getCharacterStream()
      このClobオブジェクトによって指定されたCLOB値をjava.io.Readerオブジェクト(または文字のストリーム)として取り出します。
      Reader getCharacterStream​(long pos, long length)
      Clob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。
      String getSubString​(long pos, int length)
      このClobオブジェクトによって指定されたCLOB値内の指定された部分文字列のコピーを取得します。
      long length()
      このClobオブジェクトによって指定されたCLOB値の文字数を取得します。
      long position​(String searchstr, long start)
      このClobオブジェクトで表されるSQL CLOB値内で、指定された部分文字列searchstrが現れる文字位置を取得します。
      long position​(Clob searchstr, long start)
      このClobオブジェクト内で、指定されたClobオブジェクトsearchstrが現れる文字位置を取得します。
      OutputStream setAsciiStream​(long pos)
      このClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。
      Writer setCharacterStream​(long pos)
      このClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。
      int setString​(long pos, String str)
      このClobオブジェクトが指定するCLOB値へ、指定されたJava Stringposの位置に書き込みます。
      int setString​(long pos, String str, int offset, int len)
      strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。
      void truncate​(long len)
      このClobが指定するCLOB値をlen文字の長さに切り詰めます。
    • メソッドの詳細

      • length

        long length()
             throws SQLException
        このClobオブジェクトによって指定されたCLOB値の文字数を取得します。
        戻り値:
        文字数でのCLOBの長さ
        例外:
        SQLException - CLOB値の長さにアクセスするときにエラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
      • getSubString

        String getSubString​(long pos,
                            int length)
                     throws SQLException
        このClobオブジェクトによって指定されたCLOB値内の指定された部分文字列のコピーを取得します。 部分文字列は、posの位置からlengthで指定された数の連続する文字です。
        パラメータ:
        pos - 抽出される部分文字列の最初の文字。 最初の文字は位置1
        length - コピーされる連続した文字数。長さの値は、0以上である必要がある
        戻り値:
        このClobオブジェクトによって指定されたCLOB値内の指定された部分文字列であるString
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合。posが1より小さいか、またはlengthが0より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
      • getCharacterStream

        Reader getCharacterStream()
                           throws SQLException
        このClobオブジェクトによって指定されたCLOB値をjava.io.Readerオブジェクト(または文字のストリーム)として取り出します。
        戻り値:
        CLOBデータを格納するjava.io.Readerオブジェクト
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
        関連項目:
        setCharacterStream(long)
      • getAsciiStream

        InputStream getAsciiStream()
                            throws SQLException
        このClobオブジェクトによって指定されたCLOB値をASCIIストリームとして取得します。
        戻り値:
        CLOBデータを格納するjava.io.InputStreamオブジェクト
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
        関連項目:
        setAsciiStream(long)
      • position

        long position​(String searchstr,
                      long start)
               throws SQLException
        このClobオブジェクトで表されるSQL CLOB値内で、指定された部分文字列searchstrが現れる文字位置を取得します。 検索は、startの位置から始まります。
        パラメータ:
        searchstr - 検索対象の部分文字列
        start - 検索を開始する位置。最初の位置は1
        戻り値:
        部分文字列が見つかった位置。見つからなかった場合は -1。最初の位置は1
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
      • position

        long position​(Clob searchstr,
                      long start)
               throws SQLException
        このClobオブジェクト内で、指定されたClobオブジェクトsearchstrが現れる文字位置を取得します。 検索は、startの位置から始まります。
        パラメータ:
        searchstr - 検索対象のClobオブジェクト
        start - 検索を開始する位置。最初の位置は1
        戻り値:
        Clobオブジェクトが見つかった位置。見つからなかった場合は -1。最初の位置は1
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはstartが1より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
      • setString

        int setString​(long pos,
                      String str)
               throws SQLException
        このClobオブジェクトが指定するCLOB値へ、指定されたJava Stringposの位置に書き込みます。 この文字列は、posの位置から始まるClobオブジェクトの既存文字を上書きします。 指定された文字列の書込み中にClob値の終わりに達すると、余分な文字を格納するためにClob値の長さが増加します。

        ノート: posに指定された値がCLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。

        パラメータ:
        pos - このClobオブジェクトが表すCLOB値への書き込みを開始する位置。最初の位置は1です。
        str - このClobが指定するCLOB値へ書き込まれる文字列
        戻り値:
        書き込まれる文字数
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • setString

        int setString​(long pos,
                      String str,
                      int offset,
                      int len)
               throws SQLException
        strの文字offsetから始まるlen個の文字を、このClobが表すCLOB値に書き込みます。 この文字列は、posの位置から始まるClobオブジェクトの既存文字を上書きします。 指定された文字列の書込み中にClob値の終わりに達すると、余分な文字を格納するためにClob値の長さが増加します。

        ノート: posに指定された値がCLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。

        パラメータ:
        pos - このCLOBオブジェクトへの書込みを開始する位置。最初の位置は1
        str - このClobオブジェクトが表すCLOB値へ書き込まれる文字列
        offset - 書き込まれる文字の読込みを開始するstrへのオフセット
        len - 書き込まれる文字数
        戻り値:
        書き込まれる文字数
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • setAsciiStream

        OutputStream setAsciiStream​(long pos)
                             throws SQLException
        このClobオブジェクトが表すCLOB値へのASCII文字の書込みに使用するストリームを取得します。ストリームはposの位置から開始します。 ストリームに書き込まれる文字は、posの位置から始まるClobオブジェクトの既存文字を上書きします。 ストリームへの文字の書込み中にClob値の終わりに達すると、余分な文字を格納するためにClob値の長さが増加します。

        ノート: posに指定された値がCLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。

        パラメータ:
        pos - このCLOBオブジェクトへの書込みを開始する位置。最初の位置は1
        戻り値:
        ASCII符号化文字が書き込まれるストリーム
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
        関連項目:
        getAsciiStream()
      • setCharacterStream

        Writer setCharacterStream​(long pos)
                           throws SQLException
        このClobオブジェクトが表すCLOB値へのUnicode文字のストリームの書込みに使用する、posの位置のストリームを取得します。 ストリームに書き込まれる文字は、posの位置から始まるClobオブジェクトの既存文字を上書きします。 ストリームへの文字の書込み中にClob値の終わりに達すると、余分な文字を格納するためにClob値の長さが増加します。

        ノート: posに指定された値がCLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。

        パラメータ:
        pos - このCLOB値への書込みを開始する位置。最初の位置は1
        戻り値:
        Unicode符号化文字が書き込まれるストリーム
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはposが1より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
        関連項目:
        getCharacterStream()
      • truncate

        void truncate​(long len)
               throws SQLException
        このClobが指定するCLOB値をlen文字の長さに切り詰めます。

        ノート: posに指定された値がCLOB値の長さ+ 1より大きい場合、その動作は未定義です。 JDBCドライバの中には、SQLExceptionをスローするものもあれば、他のドライバがこの操作をサポートしているものもあります。

        パラメータ:
        len - CLOB値が切り詰められる長さ(文字単位)
        例外:
        SQLException - CLOB値にアクセスするときにエラーが発生した場合、またはlenが0より小さい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • free

        void free()
           throws SQLException
        このメソッドは、Clobオブジェクトが保持するリソースを解放します。 freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。

        freeが呼び出されると、free以外のメソッドを呼び出そうとしても、SQLExceptionがスローされます。 freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。

        例外:
        SQLException - Clobのリソースの解放時にエラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.6
      • getCharacterStream

        Reader getCharacterStream​(long pos,
                                  long length)
                           throws SQLException
        Clob値の一部(文字位置posから長さlength文字分)を格納したReaderオブジェクトを返します。
        パラメータ:
        pos - 取得する部分値の最初の文字までのオフセット。 Clob内で最初の文字の位置は1
        length - 取得する部分値の長さ(文字数)
        戻り値:
        Clob値の一部を読み取ることのできるReader
        例外:
        SQLException - posが1より小さい場合またはposがClobの文字数より大きい場合またはpos + lengthがClobの文字数より大きい場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.6