我有一个mysql数据库,它有一个datatypelongtext列。记录中有85.504个字符。当我使用coldfusion查询select时,它只返回前64001个字符。coldfusion是否限制为64001个字符?
selectTest = new query();
selectTest.setDatasource("myDB");
selectTest.setName("selectTest");
selectTest.addParam(name="MyID", value="#arguments.data.MyID#", cfsqltype="cf_sql_integer");
result = selectTest.execute(sql="SELECT MyLongText FROM MyTable WHERE ID = :MyID");
rs = result.getResult();
return rs.MyLongText[1];
这是我的函数,只返回前64001个字符。
谢谢
1条答案
按热度按时间dffbzjpn1#
coldfusion使用jdbc驱动程序来缓冲从sql服务器检索到的数据。默认情况下,此缓冲区限制为64k字节。如果需要检索较大的数据块,则必须增加缓冲区。
增加缓冲区可以通过允许
CLOB
/BLOB
检索(提示:longtext被认为是这样的)或通过手动设置更高的值来增加缓冲区中的最大字节数。这两件事都可以在coldfusion的数据源管理(管理员面板)中完成。
编辑:ageax发布的链接告诉您启用完整clob检索的步骤:使用cfquery检索长文本(clob)