0


以下のコードを使用して画像をアップロードしようとすると、次のエラーが発生します: java.sql.SQLException: ORA-01460: unimplemented or unreasonable conversion requested

    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;
    }

私を助けてください。

DB スクリプト : CREATE TABLE ESTMT_SAVE_IMAGE ( NAME VARCHAR2(50), IMAGE BLOB )

4

1 に答える 1

0

その最初の原因は互換性のない変換ですが、DBスクリプトを確認した後、スクリプトで変換を行っていないと思います。
ORA-01460の他の報告された原因もあります:

互換性のない文字セットにより、ORA-01460が発生する可能性があります

SQL Developerを使用して、4000バイトを超えるバインド変数値に文字列を渡そうとすると、ORA-01460になる可能性があります。

ODPを使用すると、10.2クライアントおよび10.2ODPから11.1クライアントおよび11.1.0.6.10ODPに移動するユーザーがORA-01460エラーを報告しました。これは、ODPを最新バージョンにパッチすることで修正する必要があるバグでした。

こちらをご覧ください

于 2013-03-06T07:16:34.237 に答える