package org.geotools.data.oracle; import java.sql.Connection; import java.sql.PreparedStatement; import org.geotools.jdbc.JDBCLobTestSetup; public class OracleLobTestSetup extends JDBCLobTestSetup { protected OracleLobTestSetup() { super(new OracleTestSetup()); } @Override protected void createLobTable() throws Exception { run("CREATE TABLE testlob (fid int, blob_field BLOB, clob_field CLOB, raw_field RAW(50), PRIMARY KEY (fid) )"); run("CREATE SEQUENCE testlob_fid_seq START WITH 0 MINVALUE 0"); // insert data. We need to use prepared statements in order to insert blobs Connection conn = getConnection(); PreparedStatement ps = null; try { String sql = "INSERT INTO testlob(fid, blob_field, clob_field, raw_field) VALUES(testlob_fid_seq.nextval, ?, ?, ?)"; ps = conn.prepareStatement(sql); ps.setBytes(1, new byte[] {1,2,3,4,5}); ps.setString(2, "small clob"); ps.setBytes(3, new byte[] {6,7,8,9,10}); ps.execute(); } finally { if(ps != null) ps.close(); conn.close(); } } @Override protected void dropLobTable() throws Exception { runSafe("DROP SEQUENCE testlob_fid_seq"); runSafe("DROP TABLE testlob"); } }