Wrox Home  
Search P2P Archive for: Go

  Return to Index  

asp_databases thread: ASP 0115 and Crystal Reports 8.0


Message #1 by "Susan Henesy" <susan_henesy@u...> on Mon, 22 Oct 2001 15:23:07
S.O.S.!!



Hello, professionals,



I am working on a project in which we are using the following tools:



* IE 5.0+

* IIS 4.0

* Oracle 8i

* Crystal Reports 8.0

* ASP 3.0 (and we are using Login cookies and Session Variables)



We've been experiencing an ongoing crisis whenever Crystal Reports are run 

from our web menus.  They run ok a couple of times, but after two or three 

runs, they crash the server, and the following message is displayed:

----------------------------

error 'ASP 0115' 

Unexpected error 

/dev/reports/RptReportAMain.asp 

A trappable error occurred in an external object. The script cannot 

continue running. 

----------------------------



At this point, the only course of action to take is to go to the server, 

reboot it and start/stop it.  



From what I've read on MS Knowledge Base articles and WROX books, this is 

symptomatic of some kind of component error within our external object 

(Crystal, I'm guessing), but knowing this has not helped any of us arrive 

at a solution.



Has anyone experienced this and (hopefully) fixed it?  Can anyone point me 

in the right direction?  Because my entire team is going bonkers trying to 

figure this one out, augh!



With high hopes that there is someone out there who can help,



A Totally Confused Susan (:^O



Message #2 by "Andrew Badera" <badera@r...> on Mon, 22 Oct 2001 10:31:13 -0400
Have you tried reinstalling Crystal Reports? Checking for patches on the

vendor website?



-----Original Message-----

From: Susan Henesy [mailto:susan_henesy@u...]

Sent: Monday, October 22, 2001 3:23 PM

To: ASP Databases

Subject: [asp_databases] ASP 0115 and Crystal Reports 8.0



S.O.S.!!



Hello, professionals,



I am working on a project in which we are using the following tools:



* IE 5.0+

* IIS 4.0

* Oracle 8i

* Crystal Reports 8.0

* ASP 3.0 (and we are using Login cookies and Session Variables)



We've been experiencing an ongoing crisis whenever Crystal Reports are run

from our web menus.  They run ok a couple of times, but after two or three

runs, they crash the server, and the following message is displayed:

----------------------------

error 'ASP 0115'

Unexpected error

/dev/reports/RptReportAMain.asp

A trappable error occurred in an external object. The script cannot

continue running.

----------------------------



At this point, the only course of action to take is to go to the server,

reboot it and start/stop it.



From what I've read on MS Knowledge Base articles and WROX books, this is

symptomatic of some kind of component error within our external object

(Crystal, I'm guessing), but knowing this has not helped any of us arrive

at a solution.



Has anyone experienced this and (hopefully) fixed it?  Can anyone point me

in the right direction?  Because my entire team is going bonkers trying to

figure this one out, augh!



With high hopes that there is someone out there who can help,



A Totally Confused Susan (:^O
Message #3 by "Susan Henesy" <susan_henesy@u...> on Mon, 22 Oct 2001 16:14:31
Hi Andrew,



Yes, our Crystal experts are checking the Crystal tech help site daily, 

but so far nothing's worked. We started out with Crystal 8.5, but found 

out that 8.5 would not be supported for our project; then we uninstalled 

that and installed 8.0 instead.  Some patches have been tried, but 

nothing's worked yet.  We're not sure if there is a problem with the 

software, or the way ASP has been coded to work with Crystal, and if using 

Sessions poses any unique problem, syntactically speaking, that we haven't 

thought of.  



It's so confusing!  Perhaps the problem lies in IIS 4.0 and Crystal, or 

ASP and IIS 4.0, or the DLLs in all the applications, or something.  But 

it's running Crystal that causes a crash every time, so it does seem that 

the problem is focused within that application.  If only we knew what to 

do!



Distressed,

Susan
Message #4 by "Sanjeev Gandhi" <sgandhi@e...> on Mon, 22 Oct 2001 11:23:39 -0700
This error is basically transactional error.

COM+/MTS & IIS 5 take care of such things, as code in asp is reduced.

In current scenerio, the way you have created the object of crystal report

depends. How u r creting the object, i mean like



Dim Report As New CrystalReport1

Dim rs as New ADODB.Recordset



What type of transaction u r using in ASP like' Transaction Required' or

'Requires New Transaction'



-Sanjeev Gandhi





----- Original Message -----

From: "Susan Henesy" <susan_henesy@u...>

To: "ASP Databases" <asp_databases@p...>

Sent: Monday, October 22, 2001 4:14 PM

Subject: [asp_databases] RE: ASP 0115 and Crystal Reports 8.0





> Hi Andrew,

>

> Yes, our Crystal experts are checking the Crystal tech help site daily,

> but so far nothing's worked. We started out with Crystal 8.5, but found

> out that 8.5 would not be supported for our project; then we uninstalled

> that and installed 8.0 instead.  Some patches have been tried, but

> nothing's worked yet.  We're not sure if there is a problem with the

> software, or the way ASP has been coded to work with Crystal, and if using

> Sessions poses any unique problem, syntactically speaking, that we haven't

> thought of.

>

> It's so confusing!  Perhaps the problem lies in IIS 4.0 and Crystal, or

> ASP and IIS 4.0, or the DLLs in all the applications, or something.  But

> it's running Crystal that causes a crash every time, so it does seem that

> the problem is focused within that application.  If only we knew what to

> do!

>

> Distressed,

> Susan
Message #5 by Selvaraj PT <PSelvaraj@s...> on Mon, 22 Oct 2001 11:18:18 -0400
Can you send us your code...????



Pon.



> -----Original Message-----

> From: Susan Henesy [mailto:susan_henesy@u...]

> Sent: Monday, October 22, 2001 12:15 PM

> To: ASP Databases

> Subject: [asp_databases] RE: ASP 0115 and Crystal Reports 8.0

> 

> 

> Hi Andrew,

> 

> Yes, our Crystal experts are checking the Crystal tech help 

> site daily, 

> but so far nothing's worked. We started out with Crystal 8.5, 

> but found 

> out that 8.5 would not be supported for our project; then we 

> uninstalled 

> that and installed 8.0 instead.  Some patches have been tried, but 

> nothing's worked yet.  We're not sure if there is a problem with the 

> software, or the way ASP has been coded to work with Crystal, 

> and if using 

> Sessions poses any unique problem, syntactically speaking, 

> that we haven't 

> thought of.  

> 

> It's so confusing!  Perhaps the problem lies in IIS 4.0 and 

> Crystal, or 

> ASP and IIS 4.0, or the DLLs in all the applications, or 

> something.  But 

> it's running Crystal that causes a crash every time, so it 

> does seem that 

> the problem is focused within that application.  If only we 

> knew what to 

> do!

> 

> Distressed,

> Susan
Message #6 by "Nick Jones" <nick.jones@g...> on Mon, 22 Oct 2001 16:57:11
> S.O.S.!!

> 

> Hello, professionals,

> 

> I am working on a project in which we are using the following tools:

> 

> * IE 5.0+

> * IIS 4.0

> * Oracle 8i

> * Crystal Reports 8.0

> * ASP 3.0 (and we are using Login cookies and Session Variables)

> 

> We've been experiencing an ongoing crisis whenever Crystal Reports are 

run 

> from our web menus.  They run ok a couple of times, but after two or 

three 

> runs, they crash the server, and the following message is displayed:

> ----------------------------

> error 'ASP 0115' 

> Unexpected error 

> /dev/reports/RptReportAMain.asp 

> A trappable error occurred in an external object. The script cannot 

> continue running. 

> ----------------------------

> 

> At this point, the only course of action to take is to go to the server, 

> reboot it and start/stop it.  

> 

> From what I've read on MS Knowledge Base articles and WROX books, this 

is 

> symptomatic of some kind of component error within our external object 

> (Crystal, I'm guessing), but knowing this has not helped any of us 

arrive 

> at a solution.

> 

> Has anyone experienced this and (hopefully) fixed it?  Can anyone point 

me 

> in the right direction?  Because my entire team is going bonkers trying 

to 

> figure this one out, augh!

> 

> With high hopes that there is someone out there who can help,

> 

> A Totally Confused Susan (:^O

> 

I had similar problems a while back and it turned out to be a specific 

Crystal report which caused the problem rather than ASP code. It would run 

fine once but the second or third time it ran it crashed the IIS server as 

yours does. It was either a corrupt report or one with a dodgy database 

join or something, I can't remember exactly. It may have even been because 

the report was open twice on the server. I found the dodgy report by trial 

and error (opening up multiple copies of each report in turn when I knew 

there was no-one else on the server. This may not be feasable in your 

situation. Nice helpful error message though isn't it!

Hope this steers you in the right direction.

Nick
Message #7 by Selvaraj PT <PSelvaraj@s...> on Mon, 22 Oct 2001 12:25:04 -0400
How do you use ASP 3.0 in IIS 4.0??



Pon







> -----Original Message-----

> From: Nick Jones [mailto:nick.jones@g...]

> Sent: Monday, October 22, 2001 12:57 PM

> To: ASP Databases

> Subject: [asp_databases] Re: ASP 0115 and Crystal Reports 8.0

> 

> 

> > S.O.S.!!

> > 

> > Hello, professionals,

> > 

> > I am working on a project in which we are using the following tools:

> > 

> > * IE 5.0+

> > * IIS 4.0

> > * Oracle 8i

> > * Crystal Reports 8.0

> > * ASP 3.0 (and we are using Login cookies and Session Variables)

> > 

> > We've been experiencing an ongoing crisis whenever Crystal 

> Reports are 

> run 

> > from our web menus.  They run ok a couple of times, but 

> after two or 

> three 

> > runs, they crash the server, and the following message is displayed:

> > ----------------------------

> > error 'ASP 0115' 

> > Unexpected error 

> > /dev/reports/RptReportAMain.asp 

> > A trappable error occurred in an external object. The script cannot 

> > continue running. 

> > ----------------------------

> > 

> > At this point, the only course of action to take is to go 

> to the server, 

> > reboot it and start/stop it.  

> > 

> > From what I've read on MS Knowledge Base articles and WROX 

> books, this 

> is 

> > symptomatic of some kind of component error within our 

> external object 

> > (Crystal, I'm guessing), but knowing this has not helped any of us 

> arrive 

> > at a solution.

> > 

> > Has anyone experienced this and (hopefully) fixed it?  Can 

> anyone point 

> me 

> > in the right direction?  Because my entire team is going 

> bonkers trying 

> to 

> > figure this one out, augh!

> > 

> > With high hopes that there is someone out there who can help,

> > 

> > A Totally Confused Susan (:^O

> > 

> I had similar problems a while back and it turned out to be a 

> specific 

> Crystal report which caused the problem rather than ASP code. 

> It would run 

> fine once but the second or third time it ran it crashed the 

> IIS server as 

> yours does. It was either a corrupt report or one with a 

> dodgy database 

> join or something, I can't remember exactly. It may have even 

> been because 

> the report was open twice on the server. I found the dodgy 

> report by trial 

> and error (opening up multiple copies of each report in turn 

> when I knew 

> there was no-one else on the server. This may not be feasable in your 

> situation. Nice helpful error message though isn't it!

> Hope this steers you in the right direction.

> Nick

Message #8 by "Susan Henesy" <susan_henesy@u...> on Mon, 22 Oct 2001 18:11:39
Hi everyone,



In response to your request for code, I am including what our Crystal 

experts wrote.  This is the contents of an include file 

called "SmartViewer.asp":



-----------------------------------------------

<HTML>

<HEAD>

<TITLE>Seagate ActiveX Viewer</TITLE>

</HEAD>

<BODY BGCOLOR=C6C6C6 LANGUAGE=VBScript ONLOAD="Page_Initialize">



<OBJECT ID="CRViewer"

	CLASSID="CLSID:C4847596-972C-11D0-9567-00A0C9273C2A"

	WIDTH=100% HEIGHT=95%

	 

codebase="../../viewer/activeXViewer/activexviewer.cab#Version=8,0,0,224">

<PARAM NAME="EnableRefreshButton" VALUE=0>

<PARAM NAME="EnableGroupTree" VALUE=1>

<PARAM NAME="DisplayGroupTree" VALUE=0>

<PARAM NAME="EnablePrintButton" VALUE=1>

<PARAM NAME="EnableExportButton" VALUE=1>

<PARAM NAME="EnableDrillDown" VALUE=0>

<PARAM NAME="EnableSearchControl" VALUE=1>

<PARAM NAME="EnableAnimationControl" VALUE=1>

<PARAM NAME="EnableZoomControl" VALUE=1>

</OBJECT>



<SCRIPT LANGUAGE="VBScript">

<!--

Sub Page_Initialize

	On Error Resume Next

	Dim webBroker

	Set webBroker = CreateObject("WebReportBroker.WebReportBroker")

	if ScriptEngineMajorVersion < 2 then

		window.alert "IE 3.02 users on NT4 need to get the latest 

version of VBScript or install IE 4.01 SP1. IE 3.02 users on Win95 need 

DCOM95 and latest version of VBScript, or install IE 4.01 SP1. These files 

are available at Microsoft's web site."

		CRViewer.ReportName = "rptserver.asp"

	else

		Dim webSource

		Set webSource = CreateObject

("WebReportSource.WebReportSource")

		webSource.ReportSource = webBroker

		webSource.URL = "rptserver.asp"

		webSource.PromptOnRefresh = True

		CRViewer.ReportSource = webSource

	end if

	CRViewer.ViewReport

End Sub

-->

</SCRIPT>

</BODY>

</HTML>

------------------------------------------



It could be as Nick suggested, though -- a faulty report.  I'll share that 

thought with my team and see what they say!



Susan
Message #9 by Selvaraj PT <PSelvaraj@s...> on Mon, 22 Oct 2001 14:42:28 -0400
Hi Susan,

This is an example page given by Crystal report itself....There must be some

other page where the actual code is written..Like getting the data from the

DB..etc. Can u send that one??



Pon.



> -----Original Message-----

> From: Susan Henesy [mailto:susan_henesy@u...]

> Sent: Monday, October 22, 2001 2:12 PM

> To: ASP Databases

> Subject: [asp_databases] Re: ASP 0115 and Crystal Reports 8.0

> 

> 

> Hi everyone,

> 

> In response to your request for code, I am including what our Crystal 

> experts wrote.  This is the contents of an include file 

> called "SmartViewer.asp":

> 

> -----------------------------------------------

> <HTML>

> <HEAD>

> <TITLE>Seagate ActiveX Viewer</TITLE>

> </HEAD>

> <BODY BGCOLOR=C6C6C6 LANGUAGE=VBScript ONLOAD="Page_Initialize">

> 

> <OBJECT ID="CRViewer"

> 	CLASSID="CLSID:C4847596-972C-11D0-9567-00A0C9273C2A"

> 	WIDTH=100% HEIGHT=95%

> 	 

> codebase="../../viewer/activeXViewer/activexviewer.cab#Version

> =8,0,0,224">

> <PARAM NAME="EnableRefreshButton" VALUE=0>

> <PARAM NAME="EnableGroupTree" VALUE=1>

> <PARAM NAME="DisplayGroupTree" VALUE=0>

> <PARAM NAME="EnablePrintButton" VALUE=1>

> <PARAM NAME="EnableExportButton" VALUE=1>

> <PARAM NAME="EnableDrillDown" VALUE=0>

> <PARAM NAME="EnableSearchControl" VALUE=1>

> <PARAM NAME="EnableAnimationControl" VALUE=1>

> <PARAM NAME="EnableZoomControl" VALUE=1>

> </OBJECT>

> 

> <SCRIPT LANGUAGE="VBScript">

> <!--

> Sub Page_Initialize

> 	On Error Resume Next

> 	Dim webBroker

> 	Set webBroker = CreateObject("WebReportBroker.WebReportBroker")

> 	if ScriptEngineMajorVersion < 2 then

> 		window.alert "IE 3.02 users on NT4 need to get 

> the latest 

> version of VBScript or install IE 4.01 SP1. IE 3.02 users on 

> Win95 need 

> DCOM95 and latest version of VBScript, or install IE 4.01 

> SP1. These files 

> are available at Microsoft's web site."

> 		CRViewer.ReportName = "rptserver.asp"

> 	else

> 		Dim webSource

> 		Set webSource = CreateObject

> ("WebReportSource.WebReportSource")

> 		webSource.ReportSource = webBroker

> 		webSource.URL = "rptserver.asp"

> 		webSource.PromptOnRefresh = True

> 		CRViewer.ReportSource = webSource

> 	end if

> 	CRViewer.ViewReport

> End Sub

> -->

> </SCRIPT>

> </BODY>

> </HTML>

> ------------------------------------------

> 

> It could be as Nick suggested, though -- a faulty report.  

> I'll share that 

> thought with my team and see what they say!

> 

> Susan

Message #10 by "Susan Henesy" <susan_henesy@u...> on Fri, 26 Oct 2001 16:30:03
Hi everyone,



I wanted to let you know that our ASP 0115 has been solved!



It was one of our Crystal experts who figured it out.  Here's the scoop:



Since we are connecting Crystal to an Oracle database, we were using an 

Oracle line of code to open our connection -- the "logonserver" method.  

So, here's an example of what our old code looked like:



'session("oApp").logonserver "pdsodbc.dll","MYDBDEV","","MYDB","MYDB"



It turns out using "logonserver" is just fine and dandy -- as long as you 

only use it ONCE.  However, because we were bringing in more than one 

table into one report, we needed to make repetitive connections to the 

database.



Using logonserver more than once is what caused us to have an 0115 error.  



So, our Crystal expert here found some documentation that talked about 

this particular issue, and she found that what when you want to make 

connections in Oracle, you should use a table method, and NOT an 

application method.  This method is called "SetLogonInfo" -- it performs 

the same function as the previous method, but simply uses it against a 

different object (specifically, a table object instead of an application 

object), and it can be used repeatedly.  Here is an example of what it 

looks like in our code:



////////////////////////////////////////////////////////////////////

<%

Set session("oConn") = Server.CreateObject("ADODB.Connection")

session("oConn").ConnectionString = Application("ConnectionString")

session("oConn").Open



'This line creates an ADO Recordset object

Set oADORecordset = Server.CreateObject("ADODB.Recordset")



'We can then populate the recordset object by executing a SQL statement

'against the database (using the connection object)

Set oADORecordset = session("oConn").Execute("SELECT * FROM V_MyView")



If typename(oADORecordset) = "Recordset" then

  Set session("oRSM")= oADORecordset

  Set oRptTable = session("oRpt").Database.Tables.Item(1)

  session("oRpt").DiscardSavedData

'----------HERE IS WHERE WE USE "SETLOGONINFO"--------------------------

  oRptTable.SetLogonInfo Application("Server"), "", Application("DBUser"), 

Application("DBPswd")

'------------------------------------------------------------------------



'Once we have a reference we can then set the tables datasource to be the 

recorDset object.

  oRptTable.SetPrivateData 3, session("oRSM")

//////////////////////////////////////////////////////////////////////////



And that was that.  It's interesting to note that SQL Server doesn't give 

a hoot about any of this stuff, it's just Oracle-specific.  I'm told that 

this was not documented in Crystal's Help Files to any helpful degree, so 

I thought I'd post it out here so that others could learn from our 

frustration!



Many thanks to you all for your suggestions,

Susan



Message #11 by "Sanjeev Gandhi" <sgandhi@e...> on Fri, 26 Oct 2001 14:00:46 -0700
Hi,



Good , error is solved, but i donot think so, it is effcient program

performance wise, how many user you expect to use this app at a time. Better

if you use COM+ and keep connections there and can open/close connection at

page level and take advantage of connection pooling.

Session variables should be avoided at all. I usually prefer <%@

EnableSessionState=False %> in ASP.

just for info



Sanjeev Gandhi



----- Original Message -----

From: "Susan Henesy" <susan_henesy@u...>

To: "ASP Databases" <asp_databases@p...>

Sent: Friday, October 26, 2001 4:30 PM

Subject: [asp_databases] Re: ASP 0115 and Crystal Reports 8.0





> Hi everyone,

>

> I wanted to let you know that our ASP 0115 has been solved!

>

> It was one of our Crystal experts who figured it out.  Here's the scoop:

>

> Since we are connecting Crystal to an Oracle database, we were using an

> Oracle line of code to open our connection -- the "logonserver" method.

> So, here's an example of what our old code looked like:

>

> 'session("oApp").logonserver "pdsodbc.dll","MYDBDEV","","MYDB","MYDB"

>

> It turns out using "logonserver" is just fine and dandy -- as long as you

> only use it ONCE.  However, because we were bringing in more than one

> table into one report, we needed to make repetitive connections to the

> database.

>

> Using logonserver more than once is what caused us to have an 0115 error.

>

> So, our Crystal expert here found some documentation that talked about

> this particular issue, and she found that what when you want to make

> connections in Oracle, you should use a table method, and NOT an

> application method.  This method is called "SetLogonInfo" -- it performs

> the same function as the previous method, but simply uses it against a

> different object (specifically, a table object instead of an application

> object), and it can be used repeatedly.  Here is an example of what it

> looks like in our code:

>

> ////////////////////////////////////////////////////////////////////

> <%

> Set session("oConn") = Server.CreateObject("ADODB.Connection")

> session("oConn").ConnectionString = Application("ConnectionString")

> session("oConn").Open

>

> 'This line creates an ADO Recordset object

> Set oADORecordset = Server.CreateObject("ADODB.Recordset")

>

> 'We can then populate the recordset object by executing a SQL statement

> 'against the database (using the connection object)

> Set oADORecordset = session("oConn").Execute("SELECT * FROM V_MyView")

>

> If typename(oADORecordset) = "Recordset" then

>   Set session("oRSM")= oADORecordset

>   Set oRptTable = session("oRpt").Database.Tables.Item(1)

>   session("oRpt").DiscardSavedData

> '----------HERE IS WHERE WE USE "SETLOGONINFO"--------------------------

>   oRptTable.SetLogonInfo Application("Server"), "", Application("DBUser"),

> Application("DBPswd")

> '------------------------------------------------------------------------

>

> 'Once we have a reference we can then set the tables datasource to be the

> recorDset object.

>   oRptTable.SetPrivateData 3, session("oRSM")

> //////////////////////////////////////////////////////////////////////////

>

> And that was that.  It's interesting to note that SQL Server doesn't give

> a hoot about any of this stuff, it's just Oracle-specific.  I'm told that

> this was not documented in Crystal's Help Files to any helpful degree, so

> I thought I'd post it out here so that others could learn from our

> frustration!

>

> Many thanks to you all for your suggestions,

> Susan

  Return to Index