java操作Orcale数据库blob字段,或者是clob字段,更新的对象都不能超过3K,其他字段都能够正常操作,小于3k的blob字段也能正常更新,blob字段更新对象如果超过3k,原有内容将青空,而且在运行的时候不抛出任何异常,请教大家这是为什么呢??
搞了一天了,也没弄出来,求求大家了~~~~~
搞了一天了,也没弄出来,求求大家了~~~~~
解决方案 »
- java 运行异常
- 新手提问:关于表格问题~~~
- 我在创建对象输入流时,卡住了,怎么也过不去!谁能帮帮我呀!
- 关于Exception in thread "main" java问题.lang.NullPointerException
- 菜单怎么不显示
- 再问wait()和notify()?
- 请问如何从class头和method头提取名字
- 《JAVA编程思想(第二版)》中的一道习题
- 统计:用MSN的朋友请进!不用MSN的朋友安装后也请进!谢谢!
- jbuilder下数据源的配置问题???
- 编程在当前目录下建立两个文件my1.txt和my2.txt,文件my1.txt的内容由命令行参数给出或键盘键入,然后再将my1.txt的内容写到my2.txt中。
- JSP数据库操作
File f = new File("D:/ldap.java");
FileInputStream fis = new FileInputStream(f);
pstmt = con.prepareStatement(statement);
pstmt.setBinaryStream(1,fis,(int)f.length());
pstmt.execute();
pstmt.close();
con.close();
fis.close();
我的测试代码如上,这个文件(D:/ldap.java)5k,就不能正常更新。
这个3000是哪里来的?Statement没有这个方法。
而且,autoCommit要关掉!
connection.setAutoCommit(false);
String sql2="select contents from myda where id="+id+" for update";
stmt=connection.prepareStatement(sql2);
ResultSet rs=stmt.executeQuery();
if(rs.next()){
BLOB blob=(BLOB)rs.getBlob(1);
OutputStream outStream=blob.getBinaryOutputStream();
outStream.write(data);
outStream.flush();
outStream.close();
}
connection.commit();