Single class to illustrate loading data…
import java.sql.*; import java.util.*; public class loadSnowflake { public static void main(String[] args) throws Exception { Class.forName("oracle.jdbc.driver.OracleDriver"); Class.forName("com.snowflake.client.jdbc.SnowflakeDriver"); Properties properties = new Properties(); properties.put("user", "showard"); properties.put("password", "*****"); properties.put("account", "rcaccount#"); properties.put("schema", "PUBLIC"); Connection connection = DriverManager.getConnection("jdbc:snowflake://rcaccount#.us-east-1.snowflakecomputing.com?db=SDHPOC", properties); Connection connOra = DriverManager.getConnection("jdbc:oracle:thin:showard/****@orahost:1521/service.domain"); ResultSet rst = connOra.createStatement().executeQuery("select * from sa_tran_head where tran_datetime > sysdate - 7 and rownum <= 1000"); ResultSetMetaData rsmd = rst.getMetaData(); PreparedStatement snowflakePst = connection.prepareStatement("insert into snowflake_sa_tran_head values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); int i = 0; while (rst.next()) { for (int j = 1; j <= rsmd.getColumnCount(); j++) { if (rsmd.getColumnTypeName(j).equals("NUMBER")) { snowflakePst.setLong(j,rst.getLong(j)); } else if (rsmd.getColumnTypeName(j).equals("DATE")) { snowflakePst.setDate(j,rst.getDate(j)); } if (rsmd.getColumnTypeName(j).equals("VARCHAR2")) { snowflakePst.setString(j,rst.getString(j)); } } snowflakePst.addBatch(); if (++i % 1000 == 0) { System.out.println("Starting to execute batch (" + i + ") at " + new java.util.Date()); snowflakePst.executeBatch(); connection.commit(); System.out.println("Finished batch (" + i + ") at " + new java.util.Date()); } } try { snowflakePst.executeBatch(); } catch (Exception e) { System.out.println(e.getMessage()); } connection.commit(); connection.createStatement().execute("truncate table if exists snowflake_sa_tran_head"); System.out.println("loaded then truncated data"); //too lazy to close, doesn't really matter since JVM is exiting... } }