Guest User

Untitled

a guest
Jun 25th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. UPDATE table SET log=? where id=?
  2.  
  3. UPDATE table SET log=log||?||chr(10) where id=?
  4.  
  5. java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
  6.  
  7. import oracle.jdbc.OracleDriver;
  8. import java.sql.*;
  9. import java.io.ByteArrayInputStream;
  10.  
  11. public class JDBCTest {
  12.  
  13. // How much test data to generate.
  14. public static final int SIZE = 8192;
  15.  
  16. public static void main(String[] args) throws Exception {
  17.  
  18. // Generate some test data.
  19. byte[] data = new byte[SIZE];
  20. for (int i = 0; i < SIZE; ++i) {
  21. data[i] = (byte) (64 + (i % 32));
  22. }
  23.  
  24. ByteArrayInputStream stream = new ByteArrayInputStream(data);
  25.  
  26. DriverManager.registerDriver(new OracleDriver());
  27. Connection c = DriverManager.getConnection(
  28. "jdbc:oracle:thin:@some_database", "user", "password");
  29.  
  30. String sql =
  31. "DECLAREn" +
  32. " l_line CLOB;n" +
  33. "BEGINn" +
  34. " l_line := ?;n" +
  35. " UPDATE table SET log = log || l_line || CHR(10) WHERE id = ?;n" +
  36. "END;n";
  37.  
  38. PreparedStatement stmt = c.prepareStatement(sql);
  39. stmt.setAsciiStream(1, stream, SIZE);
  40. stmt.setInt(2, 1);
  41. stmt.execute();
  42. stmt.close();
  43.  
  44. c.commit();
  45.  
  46. c.close();
  47. }
  48. }
Add Comment
Please, Sign In to add comment