SQL读取大量数据的字符
2015-11-18 15:10
232 查看
在一次给别人写接口时,发现这样一个问题,当数据库用某字段的内容,Text类型的,使用Hibernate读取时,报这个错误:
![](http://img.blog.csdn.net/20151118150419248?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后我就网上查询资料,发现在数据库链接的Url中加入属性:useLOBs=false
why?
跑去jtds官网(http://jtds.sourceforge.net/faq.html)查了一下:程序通过jtds去访问Sqlserver数据库时,默认将text/ntext,image等大数据封装成CLOB对象(字符大对象——用来存储单字节的字符数据),而CLOB对象默认没有实现toString()方法,所以直接调用只会打印对象的ID。官方解释是,采用CLOB封装这些对象,对应列的数据无需加载到内存中,如果直接打印出来很容易造成预料外的情况导致内存溢出。
解决方法:
在配置Recource时,指定数据的链接方式不适用CLOB
然后我就网上查询资料,发现在数据库链接的Url中加入属性:useLOBs=false
why?
跑去jtds官网(http://jtds.sourceforge.net/faq.html)查了一下:程序通过jtds去访问Sqlserver数据库时,默认将text/ntext,image等大数据封装成CLOB对象(字符大对象——用来存储单字节的字符数据),而CLOB对象默认没有实现toString()方法,所以直接调用只会打印对象的ID。官方解释是,采用CLOB封装这些对象,对应列的数据无需加载到内存中,如果直接打印出来很容易造成预料外的情况导致内存溢出。
解决方法:
在配置Recource时,指定数据的链接方式不适用CLOB
相关文章推荐
- 安装和使用percona-toolkit来辅助操作MySQL的基本教程
- 一种保证速度的mysql库表查询写法
- sql函数总结
- Mybatis 打印完整sql
- 什么是Oracle的分区表?
- DB_SQL_ERROR
- springmvc mybatis 整合 框架源码 bootstrap html5 mysql oracle spring
- MYSQL多主同步,负载均衡
- Oracle trim函数
- MongoDB——聚合 && 游标
- mysql主从同步延时解决
- OracleCommand.CommandText 无效
- [转]oracle学习入门系列之五内存结构、数据库结构、进程
- 全面了解DB2数据库中的各数据类型
- oracle游标:fetch和for循环游标
- redis.conf详解
- 深入浅出MS SQL——编辑table 出错
- MySQL日志分析软件mysqlsla的安装和使用教程
- 全面解读Oracle同义词的概念作用、创建删除查看及Oracle的db link
- 使用 Redis 实现分布式系统轻量级协调技术