-PR-
締切済み

JSPでデータベースにファイルを挿入するとエラー

  • 困ってます
  • 質問No.199684
  • 閲覧数99
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 32% (45/139)

urizakaです

さて、現在SQL-ServerのimageフィールドにJSPで指定したデータを入力するというプログラムを組んでいるのですが、ストリームから出力したデータをデータベースに入力しようとすると以下のようなSQLExceptionが出てしまいます。

「End of InputStream reached before satisfying length specified when InputStream was set」

 これって、いったいどういうエラーなのでしょうか?
 自分でも調べてみたのですが、ファイルのアップロードのプログラムを今回始めてやるせいもあってちんぷんかんぷんです。
 尚、ソースコードは以下のようになっております。

 public void upFile(InputStream InSte){
String ufStmt = "insert into m_File (tempfile) values(?)";
int num;
try{
open();
PreparedStatement stmt = con.prepareStatement (ufStmt);
stmt.setBinaryStream(1,InSte,1024);
num = stmt.executeUpdate();
stmt.close();
close();
}
catch(SQLException ex){
System.out.println("upFileのSQLエラー" + ex);
System.out.println(ufStmt);
}
catch(java.lang.Exception ex){
System.out.println("upFileのエラーB " + ex);
}
}

 すみませんが、宜しくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 67% (25/37)

こんにちは。

ちょっとエラー内容については、なんとも言えませんが、
そして、予想ですが、setBinaryStreamがVARCHARと互換性はもつが
imageだと駄目とか、そんな気がしたのですが。。。
もし、そうであれば逃げ道として、データ型をimageからVARCHARにする。
もしくは、マッピングするなどになるのかなぁ。。。
など、考えてみました。

ちと、SQLServer・Javaについての知識が乏しいため、検討違いであれば
すいません。
imageってXMLファイルになるのかな。。。
補足コメント
urizaka

お礼率 32% (45/139)

 urizakaです
 解答ありがとうございます。

 ええと、setBinaryStreamを使ってimageフィールドにデータを挿入することはできます。というか、サーブレット部分でストリームの大きさを測るプログラムを組んで、それを引数として与えるようにプログラムを変えるとできました。
 さて、今度の問題はダウンロードなのですが…これは違う問題になるので、別の質問を立てることにしますね。
 それでは…
投稿日時 - 2002-01-18 10:52:48


このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ