public void getSingleBlob(String sql, Values values, OutputStream os) {
		if (values == null) {
			values = new Values();
		}
		DbUtil.printSql(sql, values);
		Connection con = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			con = dbSource.getConnection();
			ps = con.prepareStatement(sql);
			DbUtil.setColumnValue(ps, 1, values);
			rs = ps.executeQuery();
			while (rs.next()) {
				InputStream is = rs.getBinaryStream(1);
				if (is != null) {
					try {
						IoUtil.convertStream(is, os);
					} catch (IOException e) {
						throw new DbKingException(e);
					} finally {
						IoUtil.closeInputStream(is);
					}
				}
			}
		} catch (SQLException e) {
			throw new DbKingException(e);
		} finally {
			DbUtil.closeResultSet(rs);
			DbUtil.closeStatement(ps);
			if (!(dbSource instanceof ConnectionDbSource)) {
				DbUtil.closeConnection(con);
			}
		}
	}