我正在使用VS2008和Crystal Report for VS2008进行开发。
有一个包含图像对象的报告,该对象显示在Oracle数据库中存储为blob字段的JPG文件。
大多数情况下报告正确导出为PDF,但有时会返回错误:“请求无法提交进行后台处理”并完全崩溃CR。
我意识到它崩溃取决于必须显示的JPG文件,但我无法确定JPG文件的哪个功能使其崩溃。
我已安装此Service Pack但根本没有任何更改:
适用于VS 2008的Crystal Reports Basic - Service Pack 1
我的代码摘录:
Try
Dim oRpt As New cr_my_report
oRpt.SetDataSource(dt) ' dt is a datatable filled from an Oracle database query
Dim exportOpts As ExportOptions = oRpt.ExportOptions
oRpt.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat
oRpt.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
oRpt.ExportOptions.DestinationOptions = New DiskFileDestinationOptions
CType(oRpt.ExportOptions.DestinationOptions, DiskFileDestinationOptions).DiskFileName = Server.MapPath("../Temp/" + PDFName)
oRpt.Export() ' here it crashes
Catch ex As Exception
Finally
oRpt.Close()
oRpt.Dispose()
End Try
答案 0 :(得分:3)
经过很多天,我终于发现问题的根源是什么。问题是VS for VS2008或更高版本,无法处理CMYK模式下的jpg文件。 CR只能处理RGB模式下的jpg文件。
有趣的是CR的较低版本(VS2003附带的版本)可以处理任何类型的jpg文件。谢谢,Crystal。
答案 1 :(得分:0)
我不知道这在Oracle上是否与SQL Server相同。显然这个问题已在sp4中修复。
ADAPT01407087 描述: 使用SQL Server本机ODBC连接时,Field Explorer将Blob数据类型显示为“String”而不是“Picture”。 问题的原因是在SQL中使用数据类型varchar(max),nvarchar(max)和varbinary(max)的任何字段 Server 2005驱动程序可能无法正确映射。 新行为: 此问题已解决
如果可以,您应该更新到最新的服务包。您可以在http://scn.sap.com/docs/DOC-27917
找到2008年的所有内容答案 2 :(得分:0)
我有同样的问题。解决方案是将我的默认打印机设置为另一台打印机。我运行了报告,一切正常。然后我将打印机重新设置回原来的状态,报告仍然有效。