将图像上载到数据库时出错

时间:2013-03-06 07:05:23

标签: image exception file-upload jdbc upload


     当我尝试使用下面的代码上传图像时,我收到以下错误: 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   )

1 个答案:

答案 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修补到最新版本来解决的错误。

Please see this