title: Inserting byte[] array as blob in Oracle Database getting ORA-01460: unimplemented or unreasonable conversion requested
body: <p>I have a java stored procedure that I am trying to insert a byte[] array into an oracle blob field in a table. </p>
  
  <p>I create a prepared statement as follows but it will randomly fail when I execute the prepared statement. I have narrowed down that the issue is coming from the pstmt.setBytes(4,content). The error I get is:</p>
  
  <blockquote>
    <p>ORA-01460: unimplemented or unreasonable conversion requested. </p>
  </blockquote>
  
  <pre><code>private static void insertFile(Connection connOracle, int zipFileId, byte[] data, String filepath, String filename ) throws SQLException {
  
  try {
      String QUERY = "INSERT INTO files(file_id, zip_file_id, filename, file_path, content) VALUES(SEQ_FILE_ID.nextval,?,?,?,?)";
  
      PreparedStatement pstmt = connOracle.prepareStatement(QUERY);
  
      pstmt.setInt(1,zipFileId);
      pstmt.setString(2, filename);
      pstmt.setString(3, filepath);
      pstmt.setBytes(4, data);
  
      System.out.println("INSERTING file_id " + filepath + ", " + filename + " INTO DATABASE");
  
      pstmt.execute();
      pstmt.close();
  }
  catch (SQLException e) {
      throw new SQLException(e.getMessage());  
  }
  </code></pre>