水晶报表,当为一个表时很正常,但是要是多个表关键建好的.RPT调用就提示登录失败?

gyhongjun 2003-10-12 10:43:26
水晶报表,当为一个表时很正常,但是要是多个表关键建好的.RPT调用就提示登录失败?我的数据库为ORACLE
代码如下:
//这里事先申明一个ReportDocument对象 Report,同时加载数据报表
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
ReportDocument oRpt = new ReportDocument();
//获取.rpt文件真实路径
string path;
path=Server.MapPath("./CrystalReport1.rpt");
oRpt.Load (path);
//设置logOnInfo参数
int i = 0;

logOnInfo.ConnectionInfo.ServerName = "qmys";
logOnInfo.ConnectionInfo.DatabaseName = "";
logOnInfo.ConnectionInfo.UserID = "twbl;";
logOnInfo.ConnectionInfo.Password = "twbl";
// 对报表中的每个表依次循环。
for (i=0;i == oRpt.Database.Tables.Count - 1;i++)
{
oRpt.Database.Tables[i].ApplyLogOnInfo(logOnInfo);
}
//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer1.ReportSource = oRpt;
...全文
29 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyhongjun 2003-10-18
  • 打赏
  • 举报
回复
谢谢,建立视图,的确是个好方法
冷月孤峰 2003-10-18
  • 打赏
  • 举报
回复
用DataView做。
haibodotnet 2003-10-13
  • 打赏
  • 举报
回复
大家一起去这个贴子支持一下!!!
http://expert.csdn.net/Expert/TopicView1.asp?id=2291055
CSDN 开个 Crystal Report 版吧!!!&&&我与水晶报表……
haibodotnet 海波.NET
haibodotnet 2003-10-13
  • 打赏
  • 举报
回复
彻底解决 CrystalReports 登录失败问题(海波.NET)
问题:
CrystalReports 登录失败
---------------------------------------------------------------
原因一: NTFS 文件夹权限的问题!
文件夹:
VS.NET Crystal Reports:
C:\Program Files\Microsoft Visual Studio .NET\Crystal Reports\Viewers
Crystal Reports 9.2:
C:\Program Files\Common Files\Crystal Decisions\2.0\crystalreportviewers
设置上述文件夹的“安全”,即NTFS 文件夹权限的问题!
1、添加当前用户,比如 Administrator,,权限“写入”;
2、添加用户 ASPNET,权限“写入”!
---------------------------------------------------------------
原因二:数据库登录问题
在报表的cs文件中,加上数据库连接。
1.TableLogonInfo
.使用TableLogonInfo
Dim ReportDoc As New ReportDocument()
Dim logonInfo As New TableLogonInfo
Dim table As table
ReportDoc.Load("C:\Rpts\publish.rpt")
For Each table IN ReportDoc.DataBase.Tables
logonInfo= table.LogonInfo
with logonInfo.connectioninfo
.serverName= "Localhost"
.Databasename= "pubs"
.UserID= "sa"
.Password=""
End With
table.applyLogonInfo(logonInfo)
next table
Crviewer.reportsource= reportDoc
2.如果是多個相關表格生成的報表,最好以存儲過程為數據源建立報表


代码放在 Page_load 事件里!
试试 info.ConnectionInfo.ServerName = "Localhost"
用户名和密码的正确性再确定一下!
——————————————————————————————————————
调试成功后,可以考虑:
将“数据库连接信息”存放在 web.config 配置文件,容易维护
——————————————————————————————————————
using CrystalDecisions.Shared ; //负责解释TableLogOnInfo类
using CrystalDecisions.CrystalReports.Engine ; //负责解释ReportDocument类

private void Page_Load(object sender, System.EventArgs e)
{
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
//这里必须事先申明一个ReportDocument对象 Report,同时加载数据报表
ReportDocument oRpt = new ReportDocument();
//获取.rpt文件真实路径
string path;
path=Server.MapPath ("cr.rpt");
oRpt.Load (path);

//从web.config中获取logOnInfo参数信息
string a,b,c,d;
//获取ServerName
a=System.Configuration.ConfigurationSettings.AppSettings ["servername"];
//获取DatabaseName
b=System.Configuration.ConfigurationSettings.AppSettings ["database"];
//获取UserId
c=System.Configuration.ConfigurationSettings.AppSettings ["userid"];
//获取password
d=System.Configuration.ConfigurationSettings.AppSettings ["pass"];
//设置logOnInfo参数
logOnInfo.ConnectionInfo.ServerName = a;
logOnInfo.ConnectionInfo.DatabaseName = b;
logOnInfo.ConnectionInfo.UserID = c;
logOnInfo.ConnectionInfo.Password = d;

oRpt.Database .Tables [0].ApplyLogOnInfo (logOnInfo);

//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer1.ReportSource = oRpt;

DataBind();
}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧