满意答案

jaychoa123

2016.11.07

采纳率:54%    等级:8

已帮助:861人

字符串以blob以byte[] 二进制的形式存成blob字段

案例一:

oracle数据库服务器系统使用的是UTF-8编码或者是AL32UTF8编码

2.在Web应用中已经将请求编码设置为UTF-8编码

3二进制数据的取得

1

2

3

4

5

6

7

8

9

10

11

Blob blogObj = rst.getBlob("CONTENT");

if(blogObj!=null){

byte[] content = blogObj.getBytes(1, (int) blogObj.length());

try {

news.setContent(new String(content));

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

乱码问题的解决方法:

news.setContent(new String(content,“UTF-8”));

案例二:读取blob,解决oracle中blob字段下载后的乱码问题

解决方法:注意不能按照像其他数据库那样的取法,而注意使用getBlob()这个oracle特有的方法。

ByteArrayOutputStream baos = new ByteArrayOutputStream();

if (queryResult.next()) ...{

tfzn018KtfjxxPO.setTec_attachid(queryResult.getLong("TEC_ATTACHID"));

tfzn018KtfjxxPO.setTec_attachpostfix(queryResult.getString("TEC_ATTACHPOSTFIX"));

java.sql.Blob blob = queryResult.getBlob("TEC_ATTACHCONTENT");

InputStream is = blob.getBinaryStream();

int bytesRead = 0;

byte[] buffer = new byte[8192];

// 从输入流读到字节数组

while ((bytesRead = is.read(buffer, 0, 8192)) != -1) ...{

// 从字节数组到输出流

baos.write(buffer, 0, bytesRead);

}

byte[] bufferFile = baos.toByteArray();

tfzn018KtfjxxPO.setTec_attachcontent(bufferFile);

connection.commit();

}

总结如下:

1,导入导出的方法有问题,可能需要指定什么参数。

2,数据库版本不同,对blob的处理方法不一致所致。

3,jdbc连接问题。

通过注册表修改

HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0

NLS_LANG 改为你需要的字符集.

常用字符集(暂时只收集到两个)

AMERICAN_AMERICA.WE8ISO8859P1

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

american_america.AL32UTF8

1--------- AMERICAN_AMERICA.zhs16gbk

2--------- AMERICAN_AMERICA.utf8

修改下注册表即可。

00分享举报

oracle blob查重,如何解决oracle blob字段 的乱码问题相关推荐

  1. oracle 行级死锁_解决Oracle数据库死锁

    介绍 本文我们尝试总结在多个用户并发情况下,如何识别和解决删除操作期间发生的死锁问题,在开始之前,我们先简单描述一下什么是死锁以及什么东西会导致死锁. 死锁 在任何数据库中发生死锁都是不愉快的,即使是 ...

  2. oracle扩展归档空间大小,解决Oracle数据库归档日志占满磁盘空间问题

    1.常用命令 show parameter log_archive_dest; sql> archive log list; sql> select * from V$FLASH_RECO ...

  3. oracle字符界面安装,怎么解决oracle在linux 纯字符界面安装有关问题

    之前在oracle 下面用图形装了(oracle图形界面安装遇到的问题), 毕竟图形界面用于个人使用,而服务器下的一般是字符界面,所以安又尝试字符界面的安装 我的环境是centos 6.3 64位 + ...

  4. oracle的sid相同如何解决,oracle数据库的SID重复有关问题

    oracle数据库的SID重复问题 1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraH ...

  5. Oracle数据库的并行查询,解决Oracle数据库并行查询出错的方法

    当我们在使用Oracle数据库的时候会发现Oracle数据库并行查询出错这一问题,那么你知道如何解决Oracle数据库并行查询出错吗?下面就是解决Oracle数据库并行查询出错的方法介绍. Oracl ...

  6. oracle未提交锁表,解决ORACLE锁表问题

    转载备用 在ORACLE操作中经常会发生,尚未提交(或回滚)数据Session异常关闭的情况 会导致表中的某些数据被锁死. 解决办法是用sys登录后,先找出lock的Session. select o ...

  7. 将oracle端口1521共享_解决oracle 端口 1521 本机127可通 其他ip不通

    提示无法连接远程Oracle.我试着telnet Oracle服务器1521 端口,提示连接失败. D:\Documents and Settings\Administrator&gtteln ...

  8. oracle的num_rows准确没,解决oracle中num_rows0查不到结果的问题

    今天本想用  select * from user_tables t where t.NUM_ROWS>0 查询表中数据大于0的表,可结果竟然没有查出来,网上搜了一下,原来NUM_ROWS这 ...

  9. oracle 不查加锁的记录,oracle 锁查询 select加锁方法

    --一.oracle对select加锁方法 create table t_test(a number,b number); INSERT INTO t_test VALUES (1, 2); INSE ...

最新文章

  1. 位运算符Java与详解_java位运算符详解
  2. 从神经网络的历史发展热潮看深度学习的发展趋势
  3. datatable复制一行数据到本表
  4. Bit-Z全球生态联盟暨韩国战略发布会即将开启
  5. 一个完整的gdb调试过程以及一些常用的命令
  6. 12c oracle 激活_Oracle 12C 安装教程
  7. 优秀!复旦直博生一作发15篇SCI,并担任12本SCI期刊审稿人
  8. if是什么c语言,这个C语言是什么(if(1))?
  9. 哈尔滨工程大学微型计算机原理与接口技术,2017年哈尔滨工程大学 哈工大 微型计算机原理与接口技术 复试硕士招生考试大纲...
  10. windows环境通过cmd命令到ftp上下载文件到linux服务器
  11. 谁说程序员的老婆和代码不可兼得?!
  12. 二叉树线索化示意图_二叉树线索化
  13. 大风吹乱了我的头发,就像吹一朵蒲公英
  14. python足球分析系统_NAO足球/高尔夫比赛视觉系统设计(python初级版)
  15. DirectDraw学习:第一课
  16. 记录一下Vue中的created函数所踩到的坑(回调函数不立即生效)
  17. do…while循环语句
  18. ct伪影消除matlab代码,CT去伪影总结
  19. srping boog 启动 but has failed to stop it. This is very likely to create a memory leak. Stack trac...
  20. 复习1:bool类型和char数组

热门文章

  1. 【Elasticsearch】es 远程调试
  2. 【Elasticsearch】腾讯万亿级 Elasticsearch 内存效率提升解密 源码级别 性能优化
  3. 【Kafka】Kafka生产者producer相关参数详解batch.size linger.ms 等参数
  4. 【Kafka】kafka KafkaException: Exception while loading Zookeeper JAAS login context ‘Client‘
  5. 【MySQL】MySQL show index 索引信息
  6. 95-190-438-源码-window-Trigger-总体概述
  7. java建议:避免使用终结方法
  8. 汇编语言转为c语言,如何把汇编语言转换成C语言
  9. API接口应该如何设计?
  10. c 读取mysql 并显示_c/c++ mysql读取操作实现简单操控电脑