Crystal Report登陆失败?
具体异常信息:
CrystalDecisions.CrystalReport.Engine.LogonException:登陆失败;
什么原因??
问题点数:50、回复次数:7Top
1 楼spring_ok(广州泰能软件)回复于 2002-07-31 16:01:18 得分 5
是不是你设计报表时用的服务器与浏览时的服务器不一样呢?
好象可以编程指定登录的信息,你查一下吧。Top
2 楼Penguin_White()回复于 2002-07-31 16:08:32 得分 10
你报表设计时的数据库与你最终联接的数据库是否一致,比如说数据库名,用户名,密码等是否发生改变,若改变,则须重新绑定。
Top
3 楼qz4365(冷风清扬)回复于 2002-07-31 16:15:23 得分 10
可能是以下原因:
1.数据库的登陆用户名或密码与报表中连接的数据库不同.
2.局域网不稳定,连接超时也会出现登陆失败的提示.
可以换个数据库试试Top
4 楼llllay(总是梦见她....)回复于 2002-07-31 16:55:14 得分 10
很可能是报表路径设置不正确,看看!!!Top
5 楼mmkk()回复于 2002-07-31 18:24:51 得分 0
速据库连接没有任何问题?Top
6 楼isprogramer(a pig want to fly)回复于 2002-08-27 01:50:29 得分 5
crv.LogOnInfo.Item(0).ConnectionInfo.UserID = "userid"
crv.LogOnInfo.Item(0).ConnectionInfo.Password = "password"
crv.LogOnInfo.Item(0).ConnectionInfo.ServerName = "servername"
crv.LogOnInfo.Item(0).ConnectionInfo.DatabaseName = "db"
crv is crystalreportviewTop
7 楼w18ily(再回首,西门吹沙(学习网络编程))回复于 2002-08-31 21:21:38 得分 10
总结了一下:
如果数据库密码为空的话(我的测试是user id=sa;pwd=)可以直接使用下面代码:
CrystalReportViewer1.ReportSource = Server.MapPath("cr1.rpt");
CrystalReportViewer1.DataBind();
如果数据库密码不为空的话,则应该添加以下代码安全登陆:
ReportDocument Report = new ReportDocument();
Report.Load(Server.MapPath("cr1.rpt"));
TableLogOnInfo logOnInfo = new TableLogOnInfo();
//对报表中的每个表进行循环
for(int i=0;i==Report.DataBase.Tables.Count-1;i++)
{
logOnInfo.ConnectionInfo.UserId = "sa";
logOnInfo.ConnectionInfo.Password = "yourpwd";
Report.DataBase.Tables[i].ApplyLogOnInfo(logOnInfo);
}
CrystalReportViewer1.ReportSource = Report;
CrystalReportViewer1.DataBind();
//当然如果密码为空的话也同样可以使用这种方法的
以上代码需要
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
Top




