0

我正在尝试使用 java 将 bmp 文件保存到旧版 oracle 数据库中的一个长原始列中,但我运行得不好。这是我使用的代码:

InputStream input2 = new ByteArrayInputStream(bytesArchivo);
String sql = "UPDATE firma_legal SET " +
                     "      firma = ? " +
                     "WHERE cod_unicom = 1120";
OraclePreparedStatement  stat =
                (OraclePreparedStatement) connection.prepareStatement(sql);
stat.setBinaryStream(1, input2, (int)archivo.length());
stat.executeUpdate();
input2.close();

代码执行得很好,但是当我在数据库中看到时,它并没有更新我想要的行,而是把这个字符串“BMF;”。

行已更新

如何将此文件插入长原始列?

谢谢你的帮助。

4

1 回答 1

0

请检查值archivo.length(),是否等于 4?

或者

中有或只有 4 个字节可用input2,请尝试input2.available()签出。

于 2012-09-18T02:32:51.393 回答