Skip to Content
0
Former Member
Jun 09, 2009 at 06:58 PM

AccessViolationException on InfoObject - BOEXI 3.1 - web intellgence rep

49 Views

Hello.

I get an AccessViolationException for Web Intelligence reports when I try to access an InfoObject.

Callstack:

AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

CrystalDecisions.Enterprise.ISInfoObjects.get_Item(Object Index) +0

CrystalDecisions.Enterprise.InfoObjects.get_Item(Object index) +97

CrystalDecisions.Enterprise.WebControls.EnterpriseItem.get_InfoObject() +187

WI_Main.FillContextMenu() in BaseUserControl.Page_Load(Object sender, EventArgs e) +461

The same code in BOEXI 2.0 worked just fine. The error occurs only on BOEXI 3.1 version and only for Web Intelligence reports.

I made a simple test application - just logon using the EnterpriseSession object, obtain the InfoStore service from the EnterpriseSession and run queries on the InfoStore service.

Result:

- querying the InfoStore object with:

"SELECT SI_DESCRIPTION, SI_ID, SI_NAME

FROM CI_INFOOBJECTS

WHERE SI_KIND = 'WEBI' AND SI_INSTANCE = 0" - works just fine. I can access the InfoObjects collection retrieved.

- querying the InfoStore object with:

"SELECT *

FROM CI_INFOOBJECTS

WHERE SI_KIND = 'WEBI' AND SI_INSTANCE = 0" - works unpredictably and the AccessViolationException occurs quite often.

I made some tests querying with different output parameters and the error reproduces when the SI_WEBI_DOC_PROPERTIES property is selected.

Can anybody tell me why this error occurs? Any help will be appreciated.

Thanks,

Magda

Note (later added):

In the SDK "select *" is not a recommended query (due to performance penalties etc). So, we can replace all the inline queries from the application. The problem that still remains is the fact we are using the EnterpriseItem object that makes its own queries and we don't have any control over its queries.

So, even if we removed all the "select *" queries, we still get the exception at random moments from the EnterpriseItem object.

The same problem was found by other persons, but no resolution was posted:

[BOEXI3.1 SDK with Visual studio 2005;

[http://www.forumtopics.com/busobj/viewtopic.php?p=600682&sid=b7ac65df1c8f44c3c9d226cf31c32123]

[http://www.forumtopics.com/busobj/viewtopic.php?p=604091&sid=3adf8f681887f0a14cacda94fa6f1248]

Edited by: MagdaP on Jun 10, 2009 8:01 PM