jboss在添加数据时的错误是
2004-08-10 16:57:02 ERROR [LoggerStream.java:140] STDERR.write() - java.lang.NullPointerException
2004-08-10 16:57:02 ERROR [LoggerStream.java:140] STDERR.write() -  at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89)
2004-08-10 16:57:02 ERROR [LoggerStream.java:140] STDERR.write() -  at com.san.intranet.action.AddCommonInfoServlet.insertInfo(AddCommonInfoServlet.java:221)
2004-08-10 16:57:02 ERROR [LoggerStream.java:140] STDERR.write() -  at com.san.intranet.action.AddCommonInfoServlet.doPost(AddCommonInfoServlet.java:197)java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89)第89行左右是 public ByteArrayInputStream(byte buf[]) {
this.buf = buf;
        this.pos = 0;
this.count = buf.length;//第89行
    }com.san.intranet.action.AddCommonInfoServlet.insertInfo(AddCommonInfoServlet.java:221)第221行是java.io.ByteArrayInputStream bIn = new java.io.ByteArrayInputStream(TESTBLOB);com.san.intranet.action.AddCommonInfoServlet.doPost(AddCommonInfoServlet.java:197)第197行是:
insertInfo(strId, strTableName, strPublisher, strProvideDept,
                 strInputDept, strGuidang, strTitle, strContent, strImageFile,
                 strDeptType, strSelfCode, strInfoType, strCreateDate, strTime,
                 0, 1);各位帮帮忙,这个到底改怎么改?或者各位有现成的支持mysql的代码给小女一段,不胜感激!!!

解决方案 »

  1.   

    这个改成mysql的之后和原来的oracle的不一样了
    照你改了之后,updateCLOB()可以不要了从上到下1.检查这句的执行,出错可能就是这里导致的
    java.io.ByteArrayInputStream  bIn  =  new  java.io.ByteArrayInputStream(TESTBLOB); 2.如果是存大文本
    这个psmt.setBinaryStream(7,  bIn,  TESTBLOB.length);  
    还是psmt.setCharacterStream()  ?
    而且这里已经把Clob存入了Bin,就没必要再有个updateClob()了
      

  2.   

    对了,发现了问题
    你这样写,post大数据量会出超过"max_allowed_packet"错误还是要采取先insert再update的方式