关于出现数据库错误ORA-01461: can bind a LONG value only for insert into a LONG column

时间:2022-09-15 18:38:18

发生的情况是将一个图片转换完成的二进制格式存储到数据库中的blob格式时发生,发现错误应该是parameter带来的,检查错误的出现位置发现这句话是问题的根源

paramList.Add(new OracleParameter("PHOTO", dUser.PHOTO));

将其改成就可以了

 OracleParameter ora = new OracleParameter("PHOTO", OracleType.Blob, dUser.PHOTO.Length);
                    ora.Value = dUser.PHOTO;
                    paramList.Add(ora);

错误的原因可能是OracleParameter字段的大小不够引起的,初始化时将大小定义为图片的大小既可