我有一个MySQL数据库,其列为datatyppe LONGTEXT。它的记录为85.504个字符。当我使用Coldfusion查询进行选择时,它仅返回前64,001个字符。是否将ColdFusion限制为64,001个字符?
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];
这是我的函数,仅返回前64,001个字符。
谢谢
答案 0 :(得分:7)
ColdFusion使用JDBC驱动程序来缓冲从SQL Server检索到的数据。默认情况下,此缓冲区限制为64k字节。如果需要检索更大的数据块,则必须增加缓冲区。
增加缓冲区可以通过允许完全CLOB
/ BLOB
检索(提示:LONGTEXT被认为是这样)或通过手动设置更高的缓冲区来增加缓冲区的最大字节数来完成。值。
这两件事都可以在ColdFusion's datasource management (administrator panel)中完成。
编辑:Ageax发布的链接告诉您启用完整CLOB检索的步骤:Retrieving long text (CLOB) using CFQuery