import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.io.StringReader; public class test { public static void main(String[] args) throws Exception { String URL = "jdbc:mysql://localhost/test"; String USER = "root"; String PASS = ""; String DRIVER = "com.mysql.jdbc.Driver"; Connection conn = null; Statement batch = null; PreparedStatement stmt = null; try { DriverManager.registerDriver((Driver) Class.forName(DRIVER).newInstance()); conn = DriverManager.getConnection(URL, USER, PASS); batch = conn.createStatement(); batch.addBatch("drop table if exists TEXT_COLUMN"); batch.addBatch("create table TEXT_COLUMN (path text not null) engine=InnoDB"); batch.executeBatch(); stmt = conn.prepareStatement("insert into TEXT_COLUMN (path) values (?)"); stmt.setCharacterStream(1, new StringReader("value"), 0); stmt.executeUpdate(); // failure here stmt.setCharacterStream(1, new StringReader(""), 0); stmt.executeUpdate(); } finally { if(stmt != null) stmt.close(); if(batch != null) batch.close(); if(conn != null) conn.close(); } } }