2011-07-19 13 views
4

C#を使用してOracleのBlobフィールドにイメージを保存および取得するにはどうすればよいですか? データベースを使って画像を保存するのは良い選択ですか?oracleのBLOBフィールドにイメージを保存して検索しますか?

+0

画像の保存や取得にはどのようなツールを使用していますか? SQL * Loaderを使用してクライアント・ファイル・システムからイメージをロードしますか? Java経由で挿入しますか?あなたは画像をアップロードするAPEXアプリを持っていますか?他に何か? –

+0

私はC#を使って画像を保存しています。ユーザーは、画像ファイルをブラウズするか、ウェブカメラを使用して画像をキャプチャすることができます –

答えて

5

C#を使用しているので、おそらくMicrosoftのWorking with Oracle LOBsで始めることをお勧めします。これには、OracleLobクラスを使用してOracleデータベースにLOBを読み書きする多くの例があります。

すべてのものと同様に、データベースを使用して画像を保存することをお勧めしますか。データベースにイメージを格納すると、イメージはトランザクションの整合性によって保護されます。定義により、すべての中間層サーバーにアクセス可能なすべてのイメージが存在する単一の場所を提供します。すべてのデータを確実にバックアップして復元できるようになります。誰も誤ってデータベースを更新することを忘れずに画像を移動することを保証します。

一方、データベースのサイズが大幅に拡大し、バックアップがより困難になる可能性があることを意味します。おそらく、これはファイルシステムのバックアップサイズのデータ​​ベースバックアップサイズを交換するだけですが、これは組織のあるグループから別のグループに頭痛を移すことを含むかもしれません。つまり、ファイルシステムスクリプトを使用してファイルシステム上のイメージを管理することはできません。中間層にイメージをキャッシュするのがより困難になる可能性があります。

0

私はどのプログラミング言語を使用しているのか分かりませんが、ファイルを開いて16進表記を使用してバイトを書き込むだけです。 http://www.herongyang.com/JDBC/Oracle-BLOB-SQL-INSERT.html

編集:あなたがピクセルを保存するか、または(ウェブカメラの場合)前の画像を圧縮してもよい。ここ

は、Javaプログラミング言語の例です。データベースに画像を保存する前に、JPEGやPNGのようなものを使用することをお勧めします。

関連する問題