相同的代码,在本地及测试环境没有问题,放到远程服务器上,就出现网页无法打开,由于在远程服务器上无法调试,就加了日志,发现是获取数据时DbDataAdapter.Fill(dataSet, startRecord, pageSize, TableName)长时间无返回的原因
还有一个奇怪的地方就是:当数据库只有几条数据的时候,远程服务器上的网站也能正常打开,当数据过百条之后就打不开了
本地和远程服务器连接的是相同的数据库
本地和远程服务器的oracle客户端不同
本地是单服务器,远程服务器是2台服务器做了负载均衡
本地是32位Server2003,远程是64位各位,有解决办法吗?

解决方案 »

  1.   

    执行SQL超时了
    在查询分析器里执行看快不快
      

  2.   

    不要使用DbDataAdapter.Fill(dataSet, startRecord, pageSize, TableName)这种方法,特别是当你数据量大的时候,它的效率是很低下的,建议自己编写分页查询语句。关于分页查询SQL语句可以看:
    用AjaxPro实现无刷新翻页效果及数据库分页技术介绍
    题外话:经不住一些朋友的一再要求,一气写了这么几篇Ajax方面的文章,这其中大部分代码都是从我的项目中摘取出来的,不过为了演示整个程序的框架结构,所以在演示程序代码里不会有大量与实际相关的业务逻辑处理,但是这并不妨碍你利用这些理论做出复杂的、完善的应用。一、数据库分页理论在实际项目中经常会遇到一个表里有几K、几M以上的数据,而呈现给用户时并不会一下子都显示出来,所以都是分批展示给用户,这样一来可以减小网络传输量,二来也减轻服务器压力。本文展示了在数据库中如何实现分页,如何利用AjaxPro实现无刷新分页。
      

  3.   

    是的,根据MSDN说的"DataSet 包含的记录数将不会多于由 maxRecords 指示的记录数。但仍然从服务器返回该查询所生成的整个结果集。",但代码不是我写的......
      

  4.   

    好吧
    根据MSDN上的Note注意DataSet 包含的记录数将不会多于由 maxRecords 指示的记录数。但仍然从服务器返回该查询所生成的整个结果集。
    把sql语句处理下,只查询返回需要的,谢谢大家