このブログで以前にMySQLにバイナリデータを格納する方法について説明しましたが、DBCPでだいぶ嵌りました。
TomcatのDBCPを使っている場合はsetBlobでInputStreamからデータを流し込もうとすると、次のようなエラーになってしまいます。
このような場合はバイト列のデータを取り出して、setBlobではなく、setBytesメソッドでデータを流し込むとよいようです。
TomcatのDBCPを使っている場合はsetBlobでInputStreamからデータを流し込もうとすると、次のようなエラーになってしまいます。
javax.servlet.ServletException: java.lang.AbstractMethodError: org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setBlob(ILjava/io/InputStream;)V
DBCP側でsetBlobに対応するメソッドが実装されていないのかも知れません。このような場合はバイト列のデータを取り出して、setBlobではなく、setBytesメソッドでデータを流し込むとよいようです。
投稿:竹形 誠司[takegata]/2009年 05月 08日 23時 17分
/更新:2009年 05月 10日 17時 51分