asp.net 水晶报表 报错

leviliao08 2011-01-10 04:29:09
异常信息: EnsureDocumentIsOpened :Load report failed

本地测试通过,正式环境报错;

环境:windows 2003 iis6

硬件:两台web服务器(集群),一台数据库服务器。

症状:一台web服务器上运行(有C盘),没有问题,另一台web服务器(没有C盘)不可以。 两台服务器区别:一个有C盘,一个没有C盘。

请大家帮一下帮,看看什么问题。


...全文
116 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeeSunSet 2011-01-11
  • 打赏
  • 举报
回复
用推模式做吧..绑定DS就行了.你这样子做它会记录文件路径的......工程引用的文件在变位后打开都会出问题.一般引用都是复制到工程中来.相对引用.
leviliao08 2011-01-11
  • 打赏
  • 举报
回复
谢谢。。。
阿泰 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liaozhihua 的回复:]

怎样解决呢?
[/Quote]

想办法给机器弄个C盘。
或者使用虚拟机软件,做个虚拟机,这个默认就会C盘,把应用部署到虚拟机里。
leviliao08 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 drk928 的回复:]
用推模式做吧..绑定DS就行了.你这样子做它会记录文件路径的......工程引用的文件在变位后打开都会出问题.一般引用都是复制到工程中来.相对引用.
[/Quote]

我用的是推模式,绑定DataSet。需要知道数据库登录用户名和参数,这种事拉模式。
leviliao08 2011-01-11
  • 打赏
  • 举报
回复
谢谢,我测试一下看。
leviliao08 2011-01-10
  • 打赏
  • 举报
回复
怎样解决呢?
阿泰 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liaozhihua 的回复:]

为什么?水晶报表这么死板?
[/Quote]

可能部分组件是默认从c盘对应目录读取的。
leviliao08 2011-01-10
  • 打赏
  • 举报
回复
为什么?水晶报表这么死板?
阿泰 2011-01-10
  • 打赏
  • 举报
回复
记得以前遇到有人提到过,跟代码无关,应该是必须要有C盘~。
leviliao08 2011-01-10
  • 打赏
  • 举报
回复
这种方式有问题?
leviliao08 2011-01-10
  • 打赏
  • 举报
回复
SqlParameter[] arms = new SqlParameter[3];
arms[0] = new SqlParameter("@ProviderName", SqlDbType.NVarChar);
arms[0].Value = "";
arms[1] = new SqlParameter("@StartDate", SqlDbType.DateTime);
arms[1].Value = "2010-08-01";
arms[2] = new SqlParameter("@EndDate", SqlDbType.DateTime);
arms[2].Value = "2010-12-01";

DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.ConString, CommandType.StoredProcedure, "SPRptDayProvidersAccount", arms).Tables[0];
//ReportDocument rpt = new ReportDocument();
//rpt.Load(Server.MapPath("Account.rpt"));//加载你设计好的水晶報表文件
//Crs CrystalReportSource
//Crv CrystalReportViewer

CrystalReportSource1.ReportDocument.Load(Server.MapPath("Account.rpt"));
CrystalReportSource1.ReportDocument.SetDataSource(dt);
//CrystalReportSource1.ReportDocument.SetParameterValue("@StartDate", "2010-08-01");
//CrystalReportSource1.ReportDocument.SetParameterValue("@EndDate", "2010-12-01");
CrystalReportSource1.ReportDocument.SetParameterValue("PrintName", "打印人");
CrystalReportSource1.DataBind();
CrystalReportViewer1.ReportSource = CrystalReportSource1;
CrystalReportViewer1.DataBind();
笨熊熊 2011-01-10
  • 打赏
  • 举报
回复
打開水晶報表的代碼帖上來看看

4,820

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧