相关疑难解决方法(0)

过于复杂的oracle jdbc BLOB处理

当我使用jdbc瘦驱动程序搜索Web以将BLOB插入Oracle数据库时,大多数网页都建议采用三步法:

  1. 插入empty_blob()值.
  2. 选择行for update.
  3. 插入实际价值.

这对我来说很好,这是一个例子:

Connection oracleConnection = ...

byte[] testArray = ...

PreparedStatement ps = oracleConnection.prepareStatement(
    "insert into test (id, blobfield) values(?, empty_blob())");
ps.setInt(1, 100);
ps.executeUpdate();
ps.close();
ps = oracleConnection.prepareStatement(
    "select blobfield from test where id = ? for update");
ps.setInt(1, 100);
OracleResultSet rs = (OracleResultSet) ps.executeQuery();
if (rs.next()) {
    BLOB blob = (BLOB) rs.getBLOB(1);
    OutputStream outputStream = blob.setBinaryStream(0L);
    InputStream inputStream = new ByteArrayInputStream(testArray);
    byte[] buffer = new byte[blob.getBufferSize()];
    int byteread = 0;
    while …
Run Code Online (Sandbox Code Playgroud)

java oracle blob jdbc clob

31
推荐指数
4
解决办法
4万
查看次数

标签 统计

blob ×1

clob ×1

java ×1

jdbc ×1

oracle ×1