1

Java を使用して保存する前に、ブロブがデータベースに既に存在する場合は、その内容を比較する必要があります。

以下は私がこれまでに行ったことです:

 String id = "";
 String blob_name = "";
 boolean exist = false;
PreparedStatement ps = dbConBuilder.getConnection().prepareStatement("SELECT ID, BLOB_NAME from TBL_BLOB where BLOB_CONTENT = ?");
        InputStream in = new ByteArrayInputStream(getBLOB_Content().getBytes("UTF-8"));
        ps.setBinaryStream(1, in, (int) getBLOB_Content().length());
        ResultSet rs = ps.executeQuery();
        while (rs.next()) {
            id = rs.getString("ID");
            blobname = rs.ge_tString("BLOB_NAME");
            exist = true;
        }

しかし、私はGDS Exception. 335544384. internal errorエラーが発生しています。

助けてください。前もって感謝します。

4

2 に答える 2

0

Firebird 1.5 エラー コードを見ると、表示されたエラー コードは badblk (不良ブロック) であり、byte[] が間違ったサイズ/形式である可能性が高く、ByteArrayInputStream として正しく読み取れないことを意味しますが、それは依存しています。の上getBLOB_Content()

また、クエリのパラメータ インデックスを 0 ではなく 1 にすべきではありませんか?

于 2013-08-13T02:04:18.160 に答える