| import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 
 public class DemoPreparedStatementSetBinaryStream {
 public static Connection getConnection() throws Exception {
 String driver = "oracle.jdbc.driver.OracleDriver";
 String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
 String username = "name";
 String password = "password";
 Class.forName(driver);
 Connection conn = DriverManager.getConnection(url, username, password);
 return conn;
 }
 
 public static void main(String[] args)throws Exception {
 String smallFileName = "smallFileName.dat";
 String largeFileName = "largeFileName.dat";
 Connection conn = null;
 PreparedStatement pstmt = null;
 try {
 conn = getConnection();
 File smallFile = new File(smallFileName);
 int smallFileLength = (int) smallFile.length();
 InputStream smallStream = (InputStream) new FileInputStream(smallFile);
 File largeFile = new File(largeFileName);
 int largeFileLength = (int) largeFile.length();
 InputStream largeStream = (InputStream) new FileInputStream(largeFile);
 
 String query = "insert into binary_table(id, raw_column, long_raw_column) values(?, ?, ?)";
 
 conn.setAutoCommit(false);
 pstmt = conn.prepareStatement(query);
 pstmt.setString(1, "0001");
 pstmt.setBinaryStream(2, smallStream, smallFileLength);
 pstmt.setBinaryStream(3, largeStream, largeFileLength);
 
 // execute query, and return number of rows created
 int rowCount = pstmt.executeUpdate();
 System.out.println("rowCount=" + rowCount);
 conn.commit();
 } finally {
 pstmt.close();
 conn.close();
 }
 }
 }
 
 
 |