oracle blob查重,如何解决oracle blob字段 的乱码问题
满意答案
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字段 的乱码问题相关推荐
- oracle 行级死锁_解决Oracle数据库死锁
介绍 本文我们尝试总结在多个用户并发情况下,如何识别和解决删除操作期间发生的死锁问题,在开始之前,我们先简单描述一下什么是死锁以及什么东西会导致死锁. 死锁 在任何数据库中发生死锁都是不愉快的,即使是 ...
- oracle扩展归档空间大小,解决Oracle数据库归档日志占满磁盘空间问题
1.常用命令 show parameter log_archive_dest; sql> archive log list; sql> select * from V$FLASH_RECO ...
- oracle字符界面安装,怎么解决oracle在linux 纯字符界面安装有关问题
之前在oracle 下面用图形装了(oracle图形界面安装遇到的问题), 毕竟图形界面用于个人使用,而服务器下的一般是字符界面,所以安又尝试字符界面的安装 我的环境是centos 6.3 64位 + ...
- oracle的sid相同如何解决,oracle数据库的SID重复有关问题
oracle数据库的SID重复问题 1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraH ...
- Oracle数据库的并行查询,解决Oracle数据库并行查询出错的方法
当我们在使用Oracle数据库的时候会发现Oracle数据库并行查询出错这一问题,那么你知道如何解决Oracle数据库并行查询出错吗?下面就是解决Oracle数据库并行查询出错的方法介绍. Oracl ...
- oracle未提交锁表,解决ORACLE锁表问题
转载备用 在ORACLE操作中经常会发生,尚未提交(或回滚)数据Session异常关闭的情况 会导致表中的某些数据被锁死. 解决办法是用sys登录后,先找出lock的Session. select o ...
- 将oracle端口1521共享_解决oracle 端口 1521 本机127可通 其他ip不通
提示无法连接远程Oracle.我试着telnet Oracle服务器1521 端口,提示连接失败. D:\Documents and Settings\Administrator>teln ...
- oracle的num_rows准确没,解决oracle中num_rows0查不到结果的问题
今天本想用 select * from user_tables t where t.NUM_ROWS>0 查询表中数据大于0的表,可结果竟然没有查出来,网上搜了一下,原来NUM_ROWS这 ...
- oracle 不查加锁的记录,oracle 锁查询 select加锁方法
--一.oracle对select加锁方法 create table t_test(a number,b number); INSERT INTO t_test VALUES (1, 2); INSE ...
最新文章
- 位运算符Java与详解_java位运算符详解
- 从神经网络的历史发展热潮看深度学习的发展趋势
- datatable复制一行数据到本表
- Bit-Z全球生态联盟暨韩国战略发布会即将开启
- 一个完整的gdb调试过程以及一些常用的命令
- 12c oracle 激活_Oracle 12C 安装教程
- 优秀!复旦直博生一作发15篇SCI,并担任12本SCI期刊审稿人
- if是什么c语言,这个C语言是什么(if(1))?
- 哈尔滨工程大学微型计算机原理与接口技术,2017年哈尔滨工程大学 哈工大 微型计算机原理与接口技术 复试硕士招生考试大纲...
- windows环境通过cmd命令到ftp上下载文件到linux服务器
- 谁说程序员的老婆和代码不可兼得?!
- 二叉树线索化示意图_二叉树线索化
- 大风吹乱了我的头发,就像吹一朵蒲公英
- python足球分析系统_NAO足球/高尔夫比赛视觉系统设计(python初级版)
- DirectDraw学习:第一课
- 记录一下Vue中的created函数所踩到的坑(回调函数不立即生效)
- do…while循环语句
- ct伪影消除matlab代码,CT去伪影总结
- srping boog 启动 but has failed to stop it. This is very likely to create a memory leak. Stack trac...
- 复习1:bool类型和char数组
热门文章
- 【Elasticsearch】es 远程调试
- 【Elasticsearch】腾讯万亿级 Elasticsearch 内存效率提升解密 源码级别 性能优化
- 【Kafka】Kafka生产者producer相关参数详解batch.size linger.ms 等参数
- 【Kafka】kafka KafkaException: Exception while loading Zookeeper JAAS login context ‘Client‘
- 【MySQL】MySQL show index 索引信息
- 95-190-438-源码-window-Trigger-总体概述
- java建议:避免使用终结方法
- 汇编语言转为c语言,如何把汇编语言转换成C语言
- API接口应该如何设计?
- c 读取mysql 并显示_c/c++ mysql读取操作实现简单操控电脑