找回密码
 立即注册

QQ登录

只需一步,快速开始

handk

社区贡献组

9

主题

53

帖子

1011

积分

社区贡献组

积分
1011

活字格认证微信认证勋章

handk
社区贡献组   /  发表于:2015-3-27 09:57  /   查看:12790  /  回复:15
在使用C1SSRSDocumentSource获取SSRS的报表时,会遇到超时的问题。

某些报表由于运算复杂,需要耗费较长的时间(4-5分钟,甚至是更长),此时会出现TimeOut的报错。截图如下:




BTW:这张报表是可以通过浏览器访问加载出来的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

15 个回复

正序浏览
Alice
社区贡献组   /  发表于:2015-4-15 17:01:00
16#
回复 15楼handk的帖子

谢谢你的反馈。
经过我们研发的确认,这是你sql的TimeOut,而非控件的TimeOut。

这是sql的复杂操作导致的问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
handk
社区贡献组   /  发表于:2015-4-15 11:04:00
15#
很抱歉我无法直接提供这部分代码给您!

我个人认为,问题的关键点不在于数据是通过“如何复杂的运算”才导致时间过长

而是“时间过长”,所以,随便构建一个表,有100W条数据(甚至更多),查询语句循环针对每行数据做某个处理,时间自然而然就上去了。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-14 15:48:00
14#
回复 12楼handk的帖子

你好。
我们这里需要了解如何操作原始数据的再加工。
有关如何运算这部分能提供给我们么?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-10 15:41:00
13#
回复 12楼handk的帖子

谢谢反馈。
目前这个问题我们的研发部门正在调查处理中。
但由于这个问题涉及服务器比较复杂,调查研究需要一定的时间,很抱歉给你带来使用上的不便。
如果问题有反馈我会第一时间通知你,不足之处还望谅解。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
handk
社区贡献组   /  发表于:2015-4-10 09:57:00
12#
回复 11楼Alice的帖子

抱歉,昨天没有及时回复。

报表本身只有3页,长时间没响应只是因为在运算。因为并不是简单的查询,而是涉及到原始数据的再加工
SSRS那边,已经将Timeout设置为30分钟了,远超报表本身所需要的时间。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-9 15:43:00
11#
回复 8楼handk的帖子

你好。
请问这个问题解决了么?
我已经将这个问题提交到美国产品组,帮你做进一步的研究和确认,如果有反馈我会通知你。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-9 09:15:00
10#
回复 8楼handk的帖子

你好。
经过测试,服务器的超时问题是由于长时间没有响应,而.NET有超时检验。

有关报表复杂引起的超时,我们这里无法查出,需要你检查报表部分的问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-2 15:59:00
9#
回复 8楼handk的帖子

使用2014V3版本进行测试,按照你提供的代码,对示例中进行修改。
运行后,会有TimeOut的异常。

这个问题已经重现了,我将此问题提交到产品组,如果有反馈我会通知你。

再次谢谢你协助我发现问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
handk
社区贡献组   /  发表于:2015-4-2 12:03:00
8#
不清楚你用的是哪一版。但就我研究,2014v3与2015v1在这一块的运作机制上是有差别的。

在这个案例中,C:\Users\****\Documents\ComponentOne Samples\Studio for WinForms\C1Report\C1Preview\CS\SsrsViewer
需要修改代码才能看到这个报错。
在运行Generate()这个方法是,会有TimeOut的报错。

2014V3
MainForm.cs文件约209行位置
  1. c1SsrsDocumentSource1.DocumentLocation = new SSRSReportLocation(tbSSRSServer.Text, ci.Path);
  2. c1SsrsDocumentSource1.Credential = GetCredential();

  3. c1SsrsDocumentSource1.Open();
  4. c1SsrsDocumentSource1.Parameters[0].Value = DateTime.Parse("2014-01-01");
  5. c1SsrsDocumentSource1.Parameters[1].Value = DateTime.Parse("2015-01-01");
  6. c1SsrsDocumentSource1.ApplyParameterValues();
  7. c1SsrsDocumentSource1.Generate();

  8. c1PrintPreviewControl1.Document = null;
  9. c1PrintPreviewControl1.Document = c1SsrsDocumentSource1;
复制代码



2015V1
MainForm.cs文件约256行位置
  1. c1SsrsDocumentSource1.Credential = _credential;
  2. //c1SsrsDocumentSource1.DocumentLocation = new SSRSReportLocation(_reportServer, ci.Path);

  3. SSRSReportLocation rl = new SSRSReportLocation(_reportServer, ci.Path);
  4. c1SsrsDocumentSource1.Open(rl);
  5. c1SsrsDocumentSource1.Parameters[0].Value = DateTime.Parse("2014-01-01");
  6. c1SsrsDocumentSource1.Parameters[1].Value = DateTime.Parse("2015-01-01");
  7. c1SsrsDocumentSource1.ApplyParameterValues();
  8. c1SsrsDocumentSource1.Generate();

  9. c1PrintPreviewControl1.Document = c1SsrsDocumentSource1;
复制代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部