文件C中的错误:\ WINDOWS \ TEMP \ POC1 {EFC98CD9-964C-4683-96BA-E02D634AF240} .rpt:无法提交请求以进行后台处理。
vb代码: Dim objReport As New CrystalDecisions.CrystalReports.Engine.ReportClass 昏暗的位置As String = context.Server.MapPath(“../ POC / POC1.rpt”) objReport.FileName = location objReport.Load() objReport.SetDataSource(dsPOC)
'dsPOC' is a dataset which contains tables
Dim oStream As System.IO.Stream
**oStream = objReport.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)**
Dim streamLen As Integer = oStream.Length
Dim arrPOCData As Byte() = New Byte(streamLen) {}
oStream.Read(arrPOCData, 0, streamLen)
Dim newDoc As New Doc
newDoc.Read(arrPOCData)
finalDoc.Append(newDoc)
objReport.Dispose()
dsPOC.Dispose()
然后 我在objReport.ExportTostream(....)中得到了这个异常。我在网站上阅读了几个场景。其中没有一个似乎是我的理由。场景是: 1.取消空白子报告 - http://aspadvice.com/blogs/rjdudley/archive/2005/10/26/13443.aspx?CommentPosted=true#commentmessage 2.增加堆栈大小 - http://forums.asp.net/t/1647034.aspx/1?Crystal+Reports+Error+The+request+could+not+be+submitted+for+background+processing+ 3.在数据集中检查唯一标识符 4.在system32中添加了新的dll - http://www.mujpvs.cz/mujpvs/soubory/CR/readme.pdf, 5.权限已提供给网络服务 - http://forums.asp.net/p/1010099/2931117.aspx
请帮我解决这个问题..三天我坐在这里。
提前致谢 SAJ,
答案 0 :(得分:0)
尝试objReport.Load(location)
,看看是否有帮助,因为我认为只有在调试器中检查objReport.FileName
的值时才应该读取location
,以确保其设置正确。
编辑:我检查过,这是一个“设置”方法,但它应该只是一个文件名,而不是你发送的完整路径,Load(location)
更安全,也可以采用完整路径。