@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

[C#][VS2005] PostgreSQLのbyteaフィールドに画像ファイル

1
投稿者投稿内容
リミット
会議室デビュー日: 2004/02/04
投稿数: 17
投稿日時: 2006-12-13 11:18
C#(VS2005)でPostgreSQLのbyteaフィールドに対して画像ファイルの出し入れを
行うプログラムを作成しようとしています。とりあえず、登録(Insert)の部分を
作成しようと思いWEBサイトを参考に、下記のようにやってみました。

--------------------------------------------------
CREATE TABLE blobtest
(
blobdata bytea
)
--------------------------------------------------
OleDbConnection oleDbConn = new OleDbConnection(CONNECTION_STRING);
OleDbCommand cmd = new OleDbCommand("INSERT INTO blobtest (blobdata) VALUES (@BLOBData)", oleDbConn);

string imageFilePath = @"D:\\\\test\\\\dog.jpg";
FileStream fsBLOBFile = new FileStream(imageFilePath, FileMode.Open, FileAccess.Read);
Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
fsBLOBFile.Close();

OleDbParameter prm = new OleDbParameter("@BLOBData", OleDbType.VarBinary, bytBLOBData.Length, ParameterDirection.Input, false,
0, 0, null, DataRowVersion.Current, bytBLOBData);

cmd.Parameters.Add(prm);

oleDbConn.Open();
cmd.ExecuteNonQuery();

oleDbConn.Close();
--------------------------------------------------
このようなコードを書きましたが、うまく行きません。
具体的には、['PostgreSQL.1' は失敗しましたが、エラー メッセージはありません。
結果コードは DB_E_BADTYPENAME(0x80040E30) です。]というエラーがかえってきます。

C#もあまり知らない上に、DBに対して画像の出し入れもはじめてです。
詳しい方、御教授願えますでしょうか。
宜しく御願いします。
1

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