|
 |
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
|
|
 |