5 个解决方案
#1
cn.CommandTimeout 时间设置长一些
#2
如果CommandTimeOut设置的时间过长的话(其实设置15秒也存在此种情况),程序就会出现假死。
这和VB本身单线程有关系。
似乎没有太好的办法解决。
这和VB本身单线程有关系。
似乎没有太好的办法解决。
#3
把查询放在存储过程能解决问题吗
#4
结果都能查出来,要生成报表时,发现错误:
gStrCnReport的值:
Private Sub ActiveReport_ReportStart()
DataControl1.ConnectionString = gStrCnReport
End Sub
gStrCnReport的值:
Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sett;Initial Catalog=L2SettleDB;Data Source=EUN;Initial File Name="";Server SPN=""
#5
你查询结果的数据量超大,已经远超 ActiveReport 设计时的考量的。
ActiveReport 的数据源中没有看到关于游标设置的参数,可以认为它是用客户端游标的。
而客户端游标是必须一次性将所有结果返回的。超量数据分配内存的消耗就足够超时了。
你应该调整设计,不能对数据量无限定。
ActiveReport 的数据源中没有看到关于游标设置的参数,可以认为它是用客户端游标的。
而客户端游标是必须一次性将所有结果返回的。超量数据分配内存的消耗就足够超时了。
你应该调整设计,不能对数据量无限定。
#1
cn.CommandTimeout 时间设置长一些
#2
如果CommandTimeOut设置的时间过长的话(其实设置15秒也存在此种情况),程序就会出现假死。
这和VB本身单线程有关系。
似乎没有太好的办法解决。
这和VB本身单线程有关系。
似乎没有太好的办法解决。
#3
把查询放在存储过程能解决问题吗
#4
结果都能查出来,要生成报表时,发现错误:
gStrCnReport的值:
Private Sub ActiveReport_ReportStart()
DataControl1.ConnectionString = gStrCnReport
End Sub
gStrCnReport的值:
Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sett;Initial Catalog=L2SettleDB;Data Source=EUN;Initial File Name="";Server SPN=""
#5
你查询结果的数据量超大,已经远超 ActiveReport 设计时的考量的。
ActiveReport 的数据源中没有看到关于游标设置的参数,可以认为它是用客户端游标的。
而客户端游标是必须一次性将所有结果返回的。超量数据分配内存的消耗就足够超时了。
你应该调整设计,不能对数据量无限定。
ActiveReport 的数据源中没有看到关于游标设置的参数,可以认为它是用客户端游标的。
而客户端游标是必须一次性将所有结果返回的。超量数据分配内存的消耗就足够超时了。
你应该调整设计,不能对数据量无限定。