- PR -

JavaでSQLServerにJPEGファイルを保存したい

投稿者投稿内容
sato_tti
会議室デビュー日: 2003/12/03
投稿数: 12
投稿日時: 2003-12-03 20:27
こんにちわ。
.Netの会議室でも質問させていただいておりました・・
実は新しいスレッドはそこからしかたたらないかと思っていて..すみません。

どなたかご存知の方がいらっしゃったら教えてください。
JavaでSQLServerのImage型にJPEGファイルを保存させたいのですが、
方法をご存知の方はいらっしゃいませんか?
SQLServerは初めて使うので、ホントに素人です
環境はWindows2000にパーソナルSQLServer2000がのっていて、
Enhydraを使ったWebアプリケーションを作成したいです。
将来的にはパーソナルではなく、ちゃんとしたSQLSErverに変更する予定です。

よろしくお願いいたします。m(_ _)m
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2003-12-04 00:19
sato_ttiさんこんにちは。

LONGVARBINARY型が使えるのではないでしょうか。

http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jdbc/getstart/mapping.html
とかを参照してみてください。

# BLOB型をお勧めしようと思ったのですが、マッピングされてない
# DBも多いみたいですね。
sato_tti
会議室デビュー日: 2003/12/03
投稿数: 12
投稿日時: 2003-12-04 11:37
すみません・・・
型の問題というよりは、やり方がまったくわからないのです。
どうしたら画像がDBに入るのか、ぜんぜんわかりません。。(ToT)
詳しい方法を教えていただけませんか?
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2003-12-04 11:49
想馬です。

以下の何がわからないのですか?

・JDBCを使用したプログラミング
・SQLについて
・DBのデータ型について
・Imageクラスの使い方
sato_tti
会議室デビュー日: 2003/12/03
投稿数: 12
投稿日時: 2003-12-04 13:05
JDBCを使用して、バイナリーデータを保存する方法がわかりません。
SQLServerのImage型はImageクラスというのを使わないと
登録できないのでしょうか?
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2003-12-04 20:13
#仕事が忙しいので返事が遅れました・・・

Imageクラスと書いたのは私の間違いです。
誤解を与えるような書込みになってしまい申し訳ありません。

実際にやったことは無いので確信はもてませんが処理は、

1.格納するJPEGファイルを読み込む
2.読み込んだJPEGファイルをバイト型に変換する
3.LONGVARBINARY型の列に、バイト型にしたJPEGファイルのデータをインポートする

のような流れになると思います。

#仕事に戻ります(;つД`)
sato_tti
会議室デビュー日: 2003/12/03
投稿数: 12
投稿日時: 2003-12-04 22:58
お仕事がお忙しいのにすみません。
この方法は、バイナリデータを文字(?)として扱って、登録するということでしょうか?
バイト型とは???

もーホントに素人で申し訳ありません。
教えてください。m(_ _)m
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2003-12-05 09:47
文字ではなく、バイナリのままインポートします。
試していませんが、PreparedStatement#setBinaryStreamとFileInputStreamクラスを使うとできると思います。
詳しくは、API仕様書を読んでみてください。

#バイト型→byte型です。
#この方法でできれば必要ないかな。

スキルアップ/キャリアアップ(JOB@IT)