如何把含有BLOB字段的表导出成二进制文本文件
答案:1 悬赏:10 手机版
解决时间 2021-02-11 12:08
- 提问者网友:战魂
- 2021-02-10 14:35
如何把含有BLOB字段的表导出成二进制文本文件
最佳答案
- 五星知识达人网友:拜訪者
- 2021-02-10 14:46
更新数据的时候,写insert语句的时候,不更新blob字段,blob字段对应的数据用 empty_blob() 代替就行。
(注意:在执行上面那个 sql 之前,一定要把 connection 设置成不自动提交: conn.setAutoCommit(false); )
最后单独出来blob字段:
//把 blob 字段取出来
String sql = "select ANNEX from market_info_collect_t where info_id='"
+ infoId + "' for update ";
Statement stt=null;
stt = conn.createStatement();
rs = stt.executeQuery(sql);
if (rs.next()) {
blob = (oracle.sql.BLOB) rs.getBlob("ANNEX");
outStream = blob.getBinaryOutputStream();
instream = myFile.getContentStream();
byte[] data = new byte[instream.available()];
instream.read(data);
outStream.write(data, 0, data.length);
}
instream.close();
outStream.flush();
outStream.close();
上面这段是我以前写过的代码中的一部分,你看一下,希望对你能有帮助。。。
(注意:在执行上面那个 sql 之前,一定要把 connection 设置成不自动提交: conn.setAutoCommit(false); )
最后单独出来blob字段:
//把 blob 字段取出来
String sql = "select ANNEX from market_info_collect_t where info_id='"
+ infoId + "' for update ";
Statement stt=null;
stt = conn.createStatement();
rs = stt.executeQuery(sql);
if (rs.next()) {
blob = (oracle.sql.BLOB) rs.getBlob("ANNEX");
outStream = blob.getBinaryOutputStream();
instream = myFile.getContentStream();
byte[] data = new byte[instream.available()];
instream.read(data);
outStream.write(data, 0, data.length);
}
instream.close();
outStream.flush();
outStream.close();
上面这段是我以前写过的代码中的一部分,你看一下,希望对你能有帮助。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯