水晶报表(crystal report8)"User Session has expired"如何解决?
源创科技 2005-03-23 05:24:38 Crystal Report Viewer提示:
User Session has expired
具体要如何解决?
附一:如图(只有链结,没办法CSDN不支持贴图)
http://blog.csdn.net/images/blog_csdn_net/yewin/108749/o_crystal.jpg
附二:ASP代码:
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META name="VI60_DefaultClientScript" Content="VBScript">
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY topmargin=0 leftmargin=0>
<%
if (trim(Request.Form("rq1"))<>"") and (trim(Request.Form("rq2"))<>"") and (trim(Request.Form("sj1"))<>"") and (trim(Request.Form("sj2"))<>"") then
tmp1=trim(Request.Form("rq1"))&" "&trim(Request.Form("sj1"))
tmp2=trim(Request.Form("rq2"))&" "&trim(Request.Form("sj2"))
end if
%>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
If Not IsObject ( session("oApp") ) Then
Set session ("oApp") = Server.CreateObject("CrystalRuntime.Application")
End If
Path = Request.ServerVariables("PATH_TRANSLATED")
While (Right(Path, 1) <> "\" And Len(Path) <> 0)
iLen = Len(Path) - 1
Path = Left(Path, iLen)
Wend
ReportName = path & "rpt\bbcltrade.rpt"
If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
Set session("oRpt") = session("oApp").OpenReport(ReportName,1)
Session("oRpt").MorePrintEngineErrorMessages = FALSE
session("oRpt").EnableParameterPrompting = False
session("oRpt").DiscardSavedData
set session("ParamCollection") = Session("oRpt").Parameterfields
set Param1 = session("ParamCollection").Item(1)
Call Param1.SetCurrentValue (CStr(tmp1), 12)
set Param2 = session("ParamCollection").Item(2)
Call Param2.SetCurrentValue (CStr(tmp2), 12)
On Error Resume Next
session("oRpt").ReadRecords
If Err.Number <> 0 Then
Response.Write "An Error has occured. Please check the ASP page."
Else
If IsObject(session("oPageEngine")) Then
set session("oPageEngine") = nothing
End If
set session("oPageEngine") = session("oRpt").PageEngine
End If
response.write ReportName
</SCRIPT>
<OBJECT ID="CRViewer1"
CLASSID="CLSID:C4847596-972C-11D0-9567-00A0C9273C2A"
WIDTH=100%
HEIGHT=100%
CODEBASE="/viewer/activeXViewer/activexviewer.cab#Version=8,0,0,371">
<param name="EnableGroupTree" value=1>
<param name="DisplayGroupTree" value=1>
<param name="EnableRefreshButton" value=1>
<param name="EnablePrintButton" value=1>
<param name="EnableExportButton" value=1>
<param name="EnableSearchControl" value=1>
<param name="EnableDrillDown" value=1>
<param name="EnableAnimationControl" value=1>
<param name="EnableZoomControl" value=1>
</OBJECT>
<SCRIPT LANGUAGE="VBScript">
Call Page_Initialize
Sub Page_Initialize
On Error Resume Next
Dim WebBroker1
Set WebBroker1 = CreateObject("WebReportBroker.WebReportBroker")
Call GetURL(URL)
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."
CRViewer1.ReportName = URL + "rptserver.asp"
else
Dim WebSource1
Set WebSource1 = CreateObject("WebReportSource.WebReportSource")
WebSource1.ReportSource = WebBroker1
WebSource1.URL = URL + "rptserver.asp"
WebSource1.PromptOnRefresh = true
CRViewer1.ReportSource = WebSource1
end if
CRViewer1.ViewReport
End Sub
Sub GetURL(ByRef URL)
HREF = Location.Href
URL= ""
nPos = InStr(HREF, "/")
While (nPos > 0)
URL = URL & Left( HREF, nPos )
HREF = Mid(HREF, nPos + 1)
nPos = InStr(HREF, "/")
Wend
End Sub
</SCRIPT>
<!--METADATA TYPE="DesignerControl" endspan-->
<P> </P>
</BODY>
</HTML>