SqlServer数据库中大对象(text,image)取值错误
发布时间:2020-12-12 13:34:45 所属栏目:MsSql教程 来源:网络整理
导读:问题现象: ? ?? 客户网站上调用service的信息简要突然变成(net.sourceforge.jtds.jdbc.ClobImpl@57b2dc3),程序没有改动过,现在却失效了。 ????跑去jtds官网(http://jtds.sourceforge.net/faq.html)查了一下:程序通过jtds去访问Sqlserver数据库时,默
问题现象: ? ??客户网站上调用service的信息简要突然变成(net.sourceforge.jtds.jdbc.ClobImpl@57b2dc3),程序没有改动过,现在却失效了。 ????跑去jtds官网(http://jtds.sourceforge.net/faq.html)查了一下:程序通过jtds去访问Sqlserver数据库时,默认将text/ntext,image等大数据封装成CLOB对象(字符大对象——用来存储单字节的字符数据),而CLOB对象默认没有实现toString()方法,所以直接调用只会打印对象的ID。官方解释是,采用CLOB封装这些对象,对应列的数据无需加载到内存中,如果直接打印出来很容易造成预料外的情况导致内存溢出。 解决方法: ? ? 在配置Recource时,指定数据的链接方式不适用CLOB: <Resource?name="resource_name"?auth="Container"?type="javax.sql.DataSource"?driverClassName="net.sourceforge.jtds.jdbc.Driver"?url="jdbc:jtds:sqlserver://yourserver:1433;DatabaseName=dbname;useLOBs=false"?username="xx"?password="xxxx"?maxActive="100"?maxIdle="10"?maxWait="-1"?/> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读