code: public void setAsciiStream(final int parameterIndex, final InputStream x, final int length) throws SQLException {
          if(x == null) {
              setNull(parameterIndex, Types.BLOB);
              return;
          }
  
  
          try {
              setParameter(parameterIndex, new StreamParameter(x, length));
          } catch (IOException e) {
              throw SQLExceptionMapper.getSQLException("Could not read stream", e);
          }
      }
docs: Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a
  very large ASCII value is input to a <code>LONGVARCHAR</code> parameter, it may be more practical to send it via
  a <code>java.io.InputStream</code>. Data will be read from the stream as needed until end-of-file is reached. The
  JDBC driver will do any necessary conversion from ASCII to the database char format.
  <p/>
  <P><B>Note:</B> This stream object can either be a standard Java stream object or your own subclass that
  implements the standard interface.
  
  @param parameterIndex the first parameter is 1, the second is 2, ...
  @param x              the Java input stream that contains the ASCII parameter value
  @param length         the number of bytes in the stream
  @throws java.sql.SQLException if parameterIndex does not correspond to a parameter marker in the SQL statement;
  if a database access error occurs or this method is called on a closed
  <code>PreparedStatement</code>