下面介紹使用BOE XI COM SDK 在ASP 程式中,將資料庫聯結的帳號及密碼傳入報表中。
ChangeDBLogon.asp
ChangeDBLogon.asp
| Code: |
<%@ Language=VBScript CodePage=65001 %>
<%
Dim CMS
Dim Username
Dim Password
Dim Authtype
CMS = "tom"
Username = "administrator"
Password = ""
Authtype = "secEnterprise"
Dim oEnterpriseSessionMgr
Dim ceSession
Dim iStore
Set oEnterpriseSessionMgr = Server.CreateObject("CrystalEnterprise.SessionMgr")
Set ceSession = oEnterpriseSessionMgr.Logon(Username, Password, CMS, Authtype)
Set iStore = ceSession.Service("","InfoStore")
Dim ReportName
Dim Reports
Dim Report
ReportName = "報表名稱"
Set Reports = iStore.Query("SELECT SI_ID, SI_NAME FROM CI_INFOOBJECTS WHERE SI_PROGID = 'CrystalEnterprise.Report' and SI_NAME='" + ReportName + "'")
Report = Reports.Item(1).Properties("SI_ID")
Set rptappfactory = iStore.EnterpriseSession.Service("", "RASReportFactory")
Set Session("oclientDoc") = rptAppFactory.openDocument(Reports.item(1))
Set oConnInfos = Session("oClientDoc").DatabaseController.GetConnectionInfos()
oConnInfos.Item(0).UserName = "sa"
oConnInfos.Item(0).Password = "flikwang"
Session("oClientDoc").DatabaseController.SetConnectionInfos oConnInfos
Dim Viewer
Set Viewer = CreateObject("CrystalReports.CrystalReportViewer")
With Viewer
.ReportSource = Session("oClientDoc").ReportSource
.EnterpriseLogon = iStore.EnterpriseSession
End With
On error resume next
Viewer.ProcessHTTPRequest Request, Response, Session
if err.number <> 0 then
response.write "Failed to view report" & "</BR>"
response.write "error number: " & err.number & "</BR>"
response.write "error description: " & err.description
end if
%>
|
浙公网安备 33010602011771号