Java tutorial
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MainClass { public static void main(String[] args) throws Exception { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "yourName", "mypwd"); Statement stmt = conn.createStatement(); String streamingDataSql = "CREATE TABLE XML_Data (id INTEGER, Data LONG)"; try { stmt.executeUpdate("DROP TABLE XML_Data"); } catch (SQLException se) { if (se.getErrorCode() == 942) System.out.println("Error dropping XML_Data table:" + se.getMessage()); } stmt.executeUpdate(streamingDataSql); File f = new File("employee.xml"); long fileLength = f.length(); FileInputStream fis = new FileInputStream(f); PreparedStatement pstmt = conn.prepareStatement("INSERT INTO XML_Data VALUES (?,?)"); pstmt.setInt(1, 100); pstmt.setAsciiStream(2, fis, (int) fileLength); pstmt.execute(); fis.close(); ResultSet rset = stmt.executeQuery("SELECT Data FROM XML_Data WHERE id=100"); if (rset.next()) { InputStream xmlInputStream = rset.getAsciiStream(1); int c; ByteArrayOutputStream bos = new ByteArrayOutputStream(); while ((c = xmlInputStream.read()) != -1) bos.write(c); System.out.println(bos.toString()); } conn.close(); } }