OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

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

  • 困ってます
  • 質問No.199684
  • 閲覧数97
  • ありがとう数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・ ...続きを読む
こんにちは。

ちょっとエラー内容については、なんとも言えませんが、
そして、予想ですが、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で解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ