Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

ファイル格納

下記のようなクラスをつくり、
アップしたファイルをDBに格納しようとして失敗してます。


import org.apache.struts.upload.FormFile;



・        

FormFile s =(form)FormFile



pStmt.setBlob(8,s.getFile().getInputStream(),s.getFile().getFileSize());






strutsのhtml:fileタグをつかってファイルをアップしさらにそのデータを
ORACLEに格納したいのですがうまくいきません。

上記術でプリペアードステートメントを実行すると
javax.servlet.ServletException: サーブレットの実行により例外を投げました


原因 

java.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingPreparedStatement.setBlob(ILjava/io/InputStream;J)V
    chap04.KojinEntryImp.insertKojin(KojinEntryImp.java:87)
    chap04.toroku.doExcute(toroku.java:35)
    chap04.abstractAction.execute(abstractAction.java:38)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


このエラーがでます。
回避策orBLOBで格納するばあでも何か足らないのか教えてください・

3

回答

6941

閲覧

3件の回答

評価

0

わかりませんが、以下のページなど関連ありますでしょうか。

http://soudan1.biglobe.ne.jp/qa3455885.html

評価

0

pStmt.setBlob(8,s.getFile().getInputStream(),s.getFile().getFileSize());

pStmt.setBytes(8,s.getFile().getData));

に変えたら直りました。

ただこれでいのかわかません。ファイルをDBでいれて
出力するのはじめてなので

評価

0

書くのわすれました。掲載サイトでもにたような
現象でてるみたいですね。ただ
ps.setBytes(1, fi.get());
DBが違うだけで同じ現象ぽいですが、
上記のfi.get()ってなんなのかわかりません。
そんなメソッド、FormFileにないので

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。