File infile = new File("D:\\test.txt");
try
{
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO TEST VALUES (11, EMPTY_CLOB())");
ps = conn.prepareStatement("select content from test where ID=11 for update");
rs = ps.executeQuery();
if( rs.next() )
{
oracle.sql.CLOB clob = ( oracle.sql.CLOB) rs.getClob(1);
java.io.Writer writer = clob.getCharacterOutputStream();
buf char[] = new char[1024];
java.io.FileReader fr = new java.io.FileReader("D:\\test.txt");
char buf [] = new char[1024];
int len = 0;
while(true)
{
len = fr.read(buf);
if( len <0) break;
writer.write(buf, 0, len);
}
writer.flush();
writer.close();
}
//ps.executeUpdate(); 可不用
ps.close();
conn.commit();
}catch(Exception e)
{
System.out.println("error happedd");
e.printStackTrace();
}
未测试 大致上这样
try
{
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO TEST VALUES (11, EMPTY_CLOB())");
ps = conn.prepareStatement("select content from test where ID=11 for update");
rs = ps.executeQuery();
if( rs.next() )
{
oracle.sql.CLOB clob = ( oracle.sql.CLOB) rs.getClob(1);
java.io.Writer writer = clob.getCharacterOutputStream();
buf char[] = new char[1024];
java.io.FileReader fr = new java.io.FileReader("D:\\test.txt");
char buf [] = new char[1024];
int len = 0;
while(true)
{
len = fr.read(buf);
if( len <0) break;
writer.write(buf, 0, len);
}
writer.flush();
writer.close();
}
//ps.executeUpdate(); 可不用
ps.close();
conn.commit();
}catch(Exception e)
{
System.out.println("error happedd");
e.printStackTrace();
}
未测试 大致上这样
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货