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.
// retrieve data as a stream ResultSet rs = s.executeQuery("SELECT b FROM atable"); while (rs.next()) { // use a java.io.InputStream to get the data java.io.InputStream ip = rs.getAsciiStream(1); // process the stream--this is just a generic way to // print the data int c; int columnSize = 0; byte[] buff = new byte[128]; for (;;) { int size = ip.read(buff); if (size == -1) break; columnSize += size; String chunk = new String(buff, 0, size); System.out.print(chunk); } } rs.close(); s.close(); conn.commit();