问题描述
在调试环境下运行都正常,能直接打印出来,但是直接运行,看效果后,就什么异常信息也没有,也不出错,就是没反应,而且运行比较慢一些。我怀疑是myReportDocument.PrintToPrinter(1,false,0,0);这个语句在调试环境下有权限访问打印机,但是在运行环境下,没有权限访问打印机,所以在Web.config文件中增加了一行<identityimpersonate="false"/>但是还是没能成功打印输出表表,有谁结果过类似问题没有?谢谢帮助BaseDBConnectionmyDBConnection=newBaseDBConnection();myDBConnection.Open();BUReceivemyBUReceive=newBUReceive(myDBConnection);DataTablemyDataTable=myBUReceive.Get(this.ReceiveID);stringpageTitle="宁波市教育局督办通知单";stringreportPath="~/Modules/Official/Report/";stringreportFile=Server.MapPath(reportPath)+"ReportSupervise.rpt";ReportDocumentmyReportDocument=newReportDocument();myReportDocument.Load(reportFile);myReportDocument.SetDataSource(myDataTable);myReportDocument.ParameterFields["PageTitle"].CurrentValues.AddValue(pageTitle);myReportDocument.PrintToPrinter(1,false,0,0);myDBConnection.Close();
解决方案
解决方案二:
该回复于2007-12-04 11:19:40被版主删除
解决方案三:
现在在xp下遇到这样的问题,在win2003上部署,能正常运行,但是无法直接调用服务器端打印不报什么错误,也没什么提示,就是不会打印出来,无任何效果。水晶报表真的是好闹心啊,折腾了整整一天了,还没能弄出来通过asp.netc#,直接在服务器上打印输出报表,想让myReportDocument.PrintToPrinter(1,false,0,0);这一行代码起作用还真难啊,我是怕了xp,更服了CrystalReports,折腾呀折腾呀。找到了参考文件:http://msdn.microsoft.com/library/cht/default.asp?url=/library/CHT/crystlmn/html/crtskprintingreportsfromtheserver.aspQ184291是费了挺大劲儿找到了,http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q184/2/91.asp&NoWebContent=1Q152451还没找到。检索COM类工厂中CLSID为{11BD5260-15B6-412D-80DB-12BB60B8FE50}的组件时失败,原因是出现以下错误:8007007e。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.IO.FileNotFoundException:检索COM类工厂中CLSID为{11BD5260-15B6-412D-80DB-12BB60B8FE50}的组件时失败,原因是出现以下错误:8007007e。源错误:行697:{行698:BUBaseException.Instance.LogException(myDBConnection,this.myBUOperatorInfo,myException);行699:throwmyException;行700:}行701:finally源文件:e:JirisoftJirisoft.OfficialModulesOfficialReceiveReceiveContent.aspx.cs行:699堆栈跟踪:[FileNotFoundException:检索COM类工厂中CLSID为{11BD5260-15B6-412D-80DB-12BB60B8FE50}的组件时失败,原因是出现以下错误:8007007e。]CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()+182[TypeInitializationException:“CrystalDecisions.CrystalReports.Engine.ReportDocument”的类型初始值设定项引发异常。]Jirisoft.Official.ReceiveContent.Print()ine:JirisoftJirisoft.OfficialModulesOfficialReceiveReceiveContent.aspx.cs:699Jirisoft.Official.ReceiveContent.btnPrint_Click(Objectsender,EventArgse)ine:JirisoftJirisoft.OfficialModulesOfficialReceiveReceiveContent.aspx.cs:709System.Web.UI.WebControls.Button.OnClick(EventArgse)+105System.Web.UI.WebControls.Button.RaisePostBackEvent(StringeventArgument)+107System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(StringeventArgument)+7System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandlersourceControl,StringeventArgument)+11System.Web.UI.Page.RaisePostBackEvent(NameValueCollectionpostData)+33System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+1746
解决方案四:
本来,xp上除了直接打印还能运行来着,折腾了几下web发布后,连在本地的水晶报表也不行运行了现在只能在win2003上,还能正常运行。[FileNotFoundException:检索COM类工厂中CLSID为{11BD5260-15B6-412D-80DB-12BB60B8FE50}的组件时失败,原因是出现以下错误:8007007e。]可能是自己做的发布包哪里不正常引起了以上的错误。
解决方案五:
在服务器上增加了本地打印机然后还按微软知识库Q184291的设置进行了注册表配置然后增加了程序代码,指定了服务器上的打印机myReportDocument.PrintOptions.PrinterName="HPLaserJet5100PCL6";在调试阶段,不设置PrinterName也可以正常运行,在发布状态感觉是必须要这是一样。才在win2003上正常运行了,真是要命,现在在xp上的问题还没有解决。