C# 在Oracle数据库表中存储图像
我必须将图像存储在Oracle数据库表中。为此,我将上传的文件作为数组字节读取C# 在Oracle数据库表中存储图像,c#,oracle11g,C#,Oracle11g,我必须将图像存储在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); 然后我将这个字节的数组(缓
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)
但是,在尝试将图像插入数据库时,我得到
ora-01460:unimplemented or unreasonable conversion requested
如果我上传了一个PDF文件,上面的代码可以很好地工作,但是对于jpg和doc文件它失败了。
知道为什么吗?希望这有帮助。见答案