用asp调用oracle的存储过程,如下:
cmd.CommandText="{call Query_AssmdtlModQuery(?,{resultset 349,p_rec})}"
则可以执行。其中349为返回的最大条数,要保证这个值大于可能返回的记录数,否则会报错。因此想将这个值该大一些。
但如果改成:
cmd.CommandText="{call Query_AssmdtlModQuery(?,{resultset 350,p_rec})}"
则出错,错误信息为:
Microsoft OLE DB Provider for Oracle (0x80004005)
ORA-01044: size 4200000 of buffer bound to variable exceeds maximum 4194304
记过计算发现每条记录的buffer为12000。一个月前也遇到了这个问题,当时是6000因此可以返回699条记录就没有过多考虑。但现在349条记录实在是太少了。不知道如何解决。查了oracle的帮助说:reduce buffer size。不明白什么是buffer size。又怎样reduce。在公司的最后一天了。希望临走前不留下尾巴。各位高手帮帮忙,大家也帮着顶顶。谢谢了。