在线急等!关于在Oracle的blob字段中插入图片文件的问题!
ImageConn = new OracleConnection("Data Source= eleassay;UID = system;Password=steering");
ImageConn.Open();
string strTxt = "Xyg_Qms_Logic.Insert_ImageInfo";
ImageComm = new OracleCommand(strTxt,ImageConn);
ImageComm.CommandType = CommandType.StoredProcedure;
ImageComm.Parameters.Add("p_ImageFile",OracleType.VarChar,20);
ImageComm.Parameters["p_ImageFile"].Value = "sky.jpg";
ImageComm.Parameters.Add("p_ImageInfo", OracleType.Blob);
string imageFileLocation = PrintScrn.BaseLogic.RunPath + "\\sky.jpg";
FileInfo fi = new FileInfo(imageFileLocation);
FileStream fs = fi.OpenRead();
byte[] imageData = new byte[fs.Length];
fs.Read(imageData, 0, System.Convert.ToInt32(imageData.Length));
ImageComm.Parameters["p_ImageInfo"].Value = imageData;
fs.Close();
try
{
ImageComm.ExecuteNonQuery();
}
catch (System.Exception error)
{
MessageBox.Show(error.Message);
}
finally
{
ImageComm.Connection.Close();
}
上面的程序我调试过是没有问题的.存储过程如下:
procedure Insert_ImageInfo(p_ImageFile in imageinfo.imagefilename%type,
p_ImageInfo in imageinfo.imagefiledata%type
) as
begin
Insert into imageinfo (IMAGEFILENAME,imagefiledata) values (p_ImageFile,ImageInfo);
end;
表imageinfo中的imagefiledata是blob字段类型.
经过几次测试发现小于10K的图片如.jpg,.ico都可以插入进去;
但是一旦文件大于10K,立马就报错,"ORA01460:转换请求无法实现或不合理!"
请高手帮忙解决大于10K的图片插入问题,一旦得到答案调试成功,马上就结帖发薪,多谢啦.