各们高手,为什么我向数据库里面存超过32K的图像或者文件就会出错,blob字段不是可以存4G的内容吗?我看了很多资料也没搞清楚是怎么回事,向各位大哥请教.帮帮我吧.谢谢了.  我已经用empty_blob()做了初始化了,我是用java写程序的,使用的是"jdbc:oracle:thin:驱动,请高手们帮下忙啊.最好能给出源码,万分感谢!!!

解决方案 »

  1.   

    这是我的程序
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();   
    String url="jdbc:oracle:thin:@192.168.4.105:1521:dbName"; 
    //orcl为你的数据库的SID 
    String user="uNane"; 
    String password="pass"; 
    Connection conn= DriverManager.getConnection(url,user,password);
        String fileToReadBlob = "blobExample.gif";
        File f = new File(fileToReadBlob);
        int lengthofFile = (int) f.length();
        FileInputStream fileInputStream = new FileInputStream(f);    preparedStatement.setBinaryStream(1, fileInputStream, lengthofFile);
        preparedStatement.execute();
      

  2.   

    一般文件操作对象一次最多只能读取32k的文件,为得就是在读取象电影似的那种大文件的时候不让你一下子死住了,需要你通过编程循环读取你需要的那某一部分,以节省内存提高效率
    java我虽不懂,但也应该有此限制,你可以差一下资料,也许还有别的对象提供类似的读文件功能