我现在发现了一个蹩脚的TON不清楚,不是我可以开始解决这个问题的相关例子。不敢相信我已经花了不到10分钟,但到目前为止已经花了3个小时。
我正在查看一个aspx页面,旁边没有代码。此页面将水晶报告呈现为pdf。
水晶报告绑定到一个objectdatasource,它绑定到一个愚蠢的大数据集中的一个tableadapter。
问题是查询超时。这是一个长时间运行的过程,(50秒),超时是30秒。我已经看过添加一个部分类,但由于对象没有绑定在代码中,我无法以这种方式设置超时并且它是一个网站,因此数据集背后的代码是一大堆XML无论如何而且我不确定我可以在这里添加一个部分类来暴露时间,如果我可以重复约70次,每个适配器一次。
所以有人有一个更好,更简单或至少一种有效的方法,所以今天我可以得到这个水晶报告:)
由于
答案 0 :(得分:2)
如果您正在使用ObjectDataSource,则使用部分类来更改命令超时。
将以下代码添加到aspx页面上ObjectDataSource的objectCreated事件中;
protected void ObjectDataSource1_ObjectCreated(object sender, ObjectDataSourceEventArgs e)
{
DataSet1TableAdapters.DataTable1Adaptor ta;
ta = (DataSet1TableAdapters.DataTable1Adaptor)e.ObjectInstance;
ta.setCommandTimeOut(60);
}
Sory错过了关于部分课程的部分。查看Control TableAdapter Command Timeout Globally以设置命令超时
答案 1 :(得分:0)
你不能增加用于填充数据集的SQLCOnnection的ConnectionTimeout吗?
即。 SQlConnection.ConnectionTimeout = somevalue
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您无法修改TableAdapter的超时,并假设该过程无法更快地运行,那么除了将报表的数据源直接设置为存储过程之外,我没有看到任何其他选项。 Crystal并不真正关心那么低的超时。