Hi, we have installed the crystal runtime 13.0.30 and in some computers occasionally occours the error:
Error Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error: 8007007f Unable to find the specified procedure. (Exception from HRESULT: 0x8007007F). in CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.CreateRptDoc()
What could be the problem?
Request clarification before answering.
Lots of updates since SP 22.
I think Dell is close, something to do with memory and resources, those errors typically indicate your app is running into memory issues.
CR requires contiguous blocks of memory to work, if Windows can't allocate them as required you'll get these types of errors, could happen in any CR API's all depends on what your app is doing at the time.
What is happening in your app when the app errors?
Can you explain the work flow it's doing, viewing, exporting, printing etc.?
When you upgraded did you set all Copy Local to false?
See my upgrade Blog for more info:
Don
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Was your application compiled with the same version of the SDK as the runtime that you've installed? If not, that's the problem - the two need to be the same. However, there is a possible work-around: go to the Crystal for VS wiki and look for "WinFormCRViewer.zip". Download that file and go to the link just above it that will explain how to use it.
-Dell
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In VS, you're looking at the assembly version, which basically shows which version of the .NET runtime it works with - multiple service packs can have the same assembly version. The version that you see in Programs and Features, is the install version which indicates that you're using SP 30. The two numbers are not referencing the same thing.
Is there a particular reason why you're using the ReportClientDoc object model instead of ReportDocument? In other words, is there something you're doing in your code that cannot be done with ReportDocument?
-Dell
In the Programs and Features the SAP crystal reports version for visual studio is the same of sap crystal reports runtime.
I'm using the ReportDocument, the full stack of the error is:
CrystalDecisions.CrystalReports.Engine
Error: Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error: 8007007f Unable to find the specified procedure. (Exception from HRESULT: 0x8007007F).
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.CreateRptDoc()
in CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper..ctor()
in CrystalDecisions.CrystalReports.Engine.ReportDocument.Initialize()
in CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
The only thing I can think of is that it might be a memory issue, since it's random. Are you explicitly calling .Dispose() on the reports when you're done with them or working with them within a Using clause so that .Dispose() is automatically called? Much of the internals of the SDK is based on COM objects and .NET doesn't memory manage COM well, so you have to explicitly .Dispose() the objects to free up the memory.
don.williams, do you have any other thoughts on this?
-Dell
I'm using .Close() and .Dispose(), the code is like this:
public class ShowReport
public sub ViewReport(byval reportfile as string)
loReport = New ReportDocument
loReport.Load(reportfile)
'... code to .SetDataSource and .SetParameterValue
'If is to export to pdf:
loReport.Export()
loReport.Close()
loReport.Dispose()
'If is to send to printer:
loReport.PrintToPrinter(1, True, 0, 0)
loReport.Close()
loReport.Dispose()
If is to preview:
Dim loPreview As frmPreview = New frmPreview
loPreview.ViewReport(loReport)
end sub
end class
'in the form frmPreview:
Dim loDoc As ReportDocument
Friend WithEvents objViewer As CrystalDecisions.Windows.Forms.CrystalReportViewer
Public Sub ViewReport(ByRef toReport As ReportDocument)
loDoc = toReport
objViewer.ReportSource = toReport
Me.Show()
end sub
Private Sub frmPreview_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
loDoc.Close()
loDoc.Dispose()
End Sub
It worked fine with the SP 22, we now started using the SP30, compiled the code to SP30 and installed the SP30 runtime and now sometimes we get this error.
We just received another error:
CrystalDecisions.Shared
Error: Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. There are not enough memory resources to process this command. (Exception from HRESULT: 0x80070008)
Local: in CrystalDecisions.Shared.SharedUtils.GetEffectiveContentCulture()
in CrystalDecisions.Shared.SharedUtils.GetContentLocale()
in CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.CreateRptDoc()
in CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper..ctor()
in CrystalDecisions.CrystalReports.Engine.ReportDocument.Initialize()
in CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor()
These errors did not occur in the SP22 version, we are having these errors with the SP30 version.
What can we do to avoid these errors that appear to be memory problems?
Hi, is there any solution to this random errors? Did Don have an opportunity to analyze the problem?
We got another different error:
Source: CrystalDecisions.CrystalReports.Engine
Message: Failed to load the report.
Location: at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened ()
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load (String filename, OpenReportMethod openMethod, Int16 parentJob)
at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load (String filename)
Could be a problem with SP30? Is there some new update we can use?
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.