我必须将图像存储在Oracle数据库表中。为此,我将上传的文件作为数组的字节
读取 string fileName = Server.MapPath("files") + @"/columnsdd.txt";
Stream str = Request.Files[0].InputStream;
byte[] buffer = new byte[str.Length];
str.Read(buffer, 0, buffer.Length);
然后我将这个数组(缓冲区)传递给存储过程。
OracleCommand cmd = new OracleCommand();
cmd.Connection = (new OracleConnection(connec));
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "InsetImag";
OracleParameter param1 = new OracleParameter();
param1.ParameterName = "image";
param1.Direction = ParameterDirection.Input;
param1.Value = buffer;
param1.OracleType = OracleType.Blob;
上面使用的存储过程是
create or replace procedure InsetImag(image in Blob,imageNAME in Varchar)
is
Begin
insert into Images values(image,'xyz.jpg');
ENd;
表格图像的定义
Column | DataType
Image | Blob
ImageName | Varchar2(20)
但是,试图将图像插入Db我正在
ora-01460:unimplemented or unreasonable conversion requested
ABove代码可以正常工作,如果我upd PDF文件但它失败的jpg和doc文件。 知道为什么吗?