向数据库插入数据出现将截断字符串或二进制数据异常

向数据库插入数据出现将截断字符串或二进制数据错误Java codeFile file new File(image/temp.jpg)Fil

向数据库插入数据出现将截断字符串或二进制数据错误

Java code
File file = new File("image/temp.jpg");            FileInputStream fis = new FileInputStream(file);            System.out.println("aaa");            String insertInfo = "use student insert into stuInfo(id,name,sex,resume,photo) values(?,?,?,?,?)";            PreparedStatement ps = conn.prepareStatement(insertInfo);            ps.setInt(1, employee.getId());            ps.setString(2, employee.getName());            ps.setString(3, employee.getSex());            ps.setString(4, employee.getResume());            System.out.println(file.length()+":"+fis.available());            ps.setBinaryStream(5, fis,(int)file.length());            ps.execute();

关键代码如上,问题是开始这样是插入成功的,不知道为什么突然就会出现com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据错误,然后fis.available()和file.length()的值是一样的,应该不会截断的吧,求解

[解决办法]
数据库字段的长度修改过吧。长度变小了。看数据库 sp_help 表名
[解决办法]
数据库的对应字段的长度是否过窄?