As requisi????es setXXXStream realizam um fluxo de dados entre o aplicativo e o banco de dados.
O JDBC permite que o par??metro IN seja definido como um fluxo de entrada do Java para passagem de uma grande quantidade de dados em fra????es menores. Quando a instru????o ?? executada, o driver de JDBC faz chamadas repetidas a este fluxo de entrada, lendo seu conte??do e transmitindo este conte??do como dados do par??metro.
para fluxos contendo bytes n??o interpretados
para fluxos contendo caracteres ASCII
para fluxos contendo caracteres Unicode
O JDBC requer que seja especificado o comprimento do fluxo. O objeto de fluxo passado para estes tr??s m??todos pode ser tanto um objeto de fluxo Java padr??o, quanto uma subclasse pr??pria do usu??rio que implementa a interface java.io.InputStream padr??o.
Statement s = conn.createStatement(); s.executeUpdate("CREATE TABLE minha_tabela (a INT, b LONG VARCHAR)"); conn.commit(); java.io.File arquivo = new java.io.File("derby.txt"); int comprArquivo = (int) arquivo.length(); // primeiro, criar o fluxo de entrada java.io.InputStream fluxoEntrada = new java.io.FileInputStream(arquivo); PreparedStatement ps = conn.prepareStatement( "INSERT INTO minha_tabela VALUES (?, ?)"); ps.setInt(1, 1); // definir o valor do par??metro de entrada como sendo o fluxo de entrada ps.setAsciiStream(2, fluxoEntrada, comprArquivo); ps.execute(); conn.commit();