当我尝试使用下面的代码上传图像时,我收到以下错误: java.sql.SQLException:ORA-01460:请求未实现或不合理的转换
File image = new File("D:/"+fileName);
preparedStatement = connection.prepareStatement(query);
preparedStatement.setString(1,"Ayush");
fis = new FileInputStream(image);
preparedStatement.setBinaryStream(2, (InputStream)fis, (int)(image.length()));
int s = preparedStatement.executeUpdate();
if(s>0) {
System.out.println("Uploaded successfully !");
flag = true;
}
else {
System.out.println("unsucessfull to upload image.");
flag = false;
}
请帮帮我。
数据库脚本: CREATE TABLE ESTMT_SAVE_IMAGE ( NAME VARCHAR2(50), 图像BLOB )
答案 0 :(得分:0)
它的第一个原因是转换不兼容,但在看到你的数据库脚本后,我认为你没有在脚本中进行任何转换。
还有其他报告的ORA-01460原因:
不兼容的字符集可能会导致ORA-01460
使用SQL Developer,尝试将字符串传递给超过4000字节的绑定变量值可能会导致ORA-01460
使用ODP,用户从10.2客户端和10.2 ODP迁移到11.1客户端和11.1.0.6.10 ODP报告了ORA-01460错误。这是一个应该通过将ODP修补到最新版本来解决的错误。