ResultSets and streaming columns

If the underlying object is itself an OutputStream class, getBinaryStream returns the object directly.

To get a field from the ResultSet using streaming columns, you can use the getXXXStream methods if the type supports it. See Streamable JDBC data types for a list of types that support the various streams. (See also Mapping of java.sql.Types to SQL types.)

You can retrieve data from one of the supported data type columns as a stream, whether or not it was stored as a stream.

The following code fragment shows how a user can retrieve a LONG VARCHAR column as a stream:
    // retrieve data as a stream
    ResultSet rs = s.executeQuery("SELECT b FROM atable");
    while (rs.next()) {
        // use a java.io.Reader to get the data
        java.io.Reader ip = rs.getCharacterStream(1);

        // process the stream--this is just a generic way to
        // print the data
        char[] buff = new char[128];
        int size;
        while ((size = ip.read(buff)) != -1) {
            String chunk = new String(buff, 0, size);
            System.out.print(chunk);
        }
    }
    rs.close();
    s.close();
    conn.commit();