C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 55 を表示中)
■30893 / )  Oracleから取得した画像ファイルの表示について
□投稿者/ ひでき (1回)-(2009/01/08(Thu) 17:24:55)

分類:[C#] 

お世話になります。
C#にて、Oracleから取得した
画像データの表示について
ご教授頂きたく投稿させて頂きました。
よろしくお願い致します。

■やりたい事
Oracleに格納しているデータの画像ファイル
(元ファイルはjpg、テーブル列の型は「LONG RAW」)を
画面のPictureBoxに表示したい。

こちらのサンプル等も参考にさせて頂き
下記ソースを組み込みましたが

private void button2_Click(object sender, EventArgs e)
{
    try
    {
        OracleConnection connection = new OracleConnection("Data Source=XXX;User ID=XXX;Password=XXX;");
        OracleDataAdapter adapter = new OracleDataAdapter("SELECT * FROM XXX WHERE XXX_CODE = '123'", connection);
        DataTable table = new DataTable();
        adapter.Fill(table);
        DataRow row = table.Rows[0];
        OracleBinary binaly = new OracleBinary((byte[])row["PIC"]);

        this.picture.Image = this.ConvBinaryToImage(binaly.Value);
    }
    catch (Exception exp)
    {
        MessageBox.Show(exp.ToString());
    }
}

private Image ConvBinaryToImage (byte[] data)
{
    Image img = null;
    MemoryStream stream = new System.IO.MemoryStream(data);
    img = Image.FromStream(stream); // 例外発生:使用されたパラメータが有効ではありません

    return img;
}

メソッド内の
「img = Image.FromStream(stream); 」
にて例外が発生してしまい
原因及び対処方法がわかりかねています。

LOCALの画像ファイルを読み込んで設定する処理は
同じような方法で表示できたのですが
バイナリファイルの対処がわかりません。

恐れ入りますが、ご教授の程お願い申し上げます。

開発環境ですが
OS:WinXP SP2 
言語:C#(VS.NET2008、.Net Framework2.0使用)
DB:Oracle 9.2.0.1.0
になります。

以上、よろしくお願いします。

返信 編集キー/


管理者用

- Child Tree -