- - PR -
[C#][VS2005] PostgreSQLのbyteaフィールドに画像ファイル
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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