点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我在Google以及整个论坛中进行了搜索,但没有一种解决方案可以解决我的问题。
水晶版本: Crsytal.Net for Visual Studio.Net 2005
服务器:Windows Server 2003
错误:
访问被拒绝。 文件C:\ WINDOWS \ TEMP \ JuryDutyReport {D6296178-3E72-483E-B876-2DFC03D00841} .rpt中的错误:无法访问报告文件。 另一个程序可能正在使用它。
当我通过 ASP.Net 附带的Web服务器在本地运行我的应用程序时,一切都是 很好,只有将应用程序部署到Windows 2003 Server时,我才会收到错误消息。
我在 ASP.Net 应用程序中使用模拟。 我已授予域用户对" C:\ Windows \ Temp",导出文件夹甚至Crystal Report驻留在服务器上的文件夹的完全访问权限。 当我在Web服务器上运行该应用程序时,实际上在" C:\ Windows \ Temp"文件夹中看到了创建的" .rpt",但是它仍然显示权限错误。
奇怪的是,下面仅将文件发送到打印机的代码会自动运行:
私人无效PrintJuryDutyReport(DataSet ds) { //创建报告文件 ReportDocument crDoc =新的ReportDocument(); //加载,设置数据源和打印选项 crDoc.Load(Server.MapPath("〜/Reports/JuryDutyReport.rpt"));; crDoc.SetDataSource(ds); //设置数据源 crDoc.PrintOptions.PrinterName = ddlPrinters.SelectedValue.ToString(); //设置打印机名称 crDoc.PrintOptions.PaperOrientation = PaperOrientation.Portrait; //设置纸张方向 crDoc.SetParameterValue(" ParamUsername",User.Identity.Name); //设置参数 crDoc.PrintToPrinter(1,false,0,0); //发送到打印机 }
我必须更改代码才能导出为PDF,并且此代码不起作用:
私人无效PrintJuryDutyReport(DataSet ds) { //报告文件 ReportDocument crDoc =新的ReportDocument(); 字符串myfile = @" G:\ COPFS \ COPFSPROD \ ReportsTemp \ MyPDF.pdf"; //加载,设置数据源和打印选项 crDoc.Load(Server.MapPath("〜/Reports/JuryDutyReport.rpt"));; crDoc.SetDataSource(ds); //设置数据源 crDoc.SetParameterValue(" ParamUsername",User.Identity.Name); //设置参数 //通过http导出 // crDoc.ExportToDisk(ExportFormatType.PortableDocFormat,myfile); crDoc.Close(); crDoc.Dispose(); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType ="应用程序/pdf"; Response.AppendHeader(" content-disposition"," attachment; filename =" + myfile); Response.WriteFile(myfile); Response.Flush(); Response.Close(); }
任何帮助将不胜感激,因为我明天必须将其提交给最终用户。
有一个属性可以使用Temp文件打开报告。
一周热门 更多>