更新时间:2023-09-02 23:08:04
我已经收到报告工作...
我写了以下代码:
Dim RptDocument作为新ReportDocument
RptDocument.Load(Server.MapPath( rpt\Report.rpt))
RptDocument.SetParameterValue( param1,Session( param1))
RptDocument.SetParameterValue( param2,ddlparam2.SelectedValue)
RptDocument.SetParameterValue( param3,param3.text)
RptDocument.SetParameterValue( param4,param4.text)
RptDocument.SetParameterValue( param5 ,param5.text)
'设置登录信息
将myLogin设置为CrystalDecisions.Shared.TableLogOnInfo
将myTable设置为表
对于每个myTable RptDocument.Database.Tables
myLogin = myTable.LogOnInfo
myLogin.ConnectionInfo.ServerName =服务器名称
myLogin.ConnectionInfo.DatabaseName =
myLogin.ConnectionInfo.UserID = userid
myLogin .ConnectionInfo.Password = pwd
myTable.ApplyLogOnInfo(myLogin)
myTable.Location = myTable.Location
CrystalReportViewer1.ReportSource = RptDocument
创建系统DNS,并且必须添加 Oracle.DataAccess.dll
进行引用和一个类文件(其功能与connectooracle.vb类文件中的功能相同,但名称不同),还在global.asax中设置一个连接以引用该类连接,并使用导入Oracle .DataAccess.Client
而不是导入System.Data.OracleClient
(以避免歧义)...
这以某种方式使其起作用,并且可能对此有其他解决方案.. ::)
(供参考:- 广告ding myLogin.ConnectionInfo.IntegratedSecurity = True给我这个错误-
登录失败。文件C中的错误:\DOCUME〜1\用户名\LOCALS〜1\Temp\Report {1AG3DD86-141D-43YA-B6A2-AEDF3459AE49} .rpt:无法连接:错误的登录参数。)
I have created a crystal report (cross tab). I'm not using any dataset, instead I used the wizard in crystal report to call an procedure from my Database schema (Provider given is Microsoft OLEDB provider for oracle, after which I gave my DB credentials(i.e. schema, username, password) and selected the procedure and selected the columns I wanted to display in the report).
There are 5 parameters that I need to pass it from the front end to generate the report. While viewing the crystal report preview, by giving parameters, the report works fine.
Now i want to pass these 5 parameters from the front end(vb.net) to show the report in the CrystalReportViewer. Please suggest the code to write in aspx.vb file. (PS:- I did go through other forums and found out some code, but all of them were giving some or the other error, so am posting one so that i can get the code specific to my requirement).
Thanks in advance..
I have gotten the report to work... I wrote the code below:
Dim RptDocument As New ReportDocument
RptDocument.Load(Server.MapPath("rpt\Report.rpt"))
RptDocument.SetParameterValue("param1", Session("param1"))
RptDocument.SetParameterValue("param2", ddlparam2.SelectedValue)
RptDocument.SetParameterValue("param3", param3.text)
RptDocument.SetParameterValue("param4", param4.text)
RptDocument.SetParameterValue("param5", param5.text)
'Set login info
Dim myLogin As CrystalDecisions.Shared.TableLogOnInfo
Dim myTable As Table
For Each myTable In RptDocument.Database.Tables
myLogin = myTable.LogOnInfo
myLogin.ConnectionInfo.ServerName = "server name"
myLogin.ConnectionInfo.DatabaseName = ""
myLogin.ConnectionInfo.UserID = "userid"
myLogin.ConnectionInfo.Password = "pwd"
myTable.ApplyLogOnInfo(myLogin)
myTable.Location = myTable.Location
CrystalReportViewer1.ReportSource = RptDocument
Created a System DNS and had to add Oracle.DataAccess.dll
to reference and a class file (with functions same as that in connectooracle.vb class file but with different name), also set up a connection in global.asax to refer to that class connection and using
Imports Oracle.DataAccess.Client
instead of Imports System.Data.OracleClient
(to avoid ambiguity)...
This somehow made it work and there might be some other solution for that..:)
(For ref:- Adding myLogin.ConnectionInfo.IntegratedSecurity = True gave me this error--
Logon failed. Error in File C:\DOCUME~1\Username\LOCALS~1\Temp\Report {1AG3DD86-141D-43YA-B6A2-AEDF3459AE49}.rpt: Unable to connect: incorrect log on parameters.)