我用ODBC连接的水晶报表,出现“登录失败”的错误,该怎么解决啊?

解决方案 »

  1.   

    这个问题很让人烦,好象水晶报表不保存数据库连接中的密码,我的办法是用文件dsn作为数据源,把用户名和密码都保存在dsn文件中,这样就不会有登录失败的问题。
      

  2.   

    报表直接放在ASPX页面上,在VS.NET中是可以看到数据的!
      

  3.   

    问题解决了!private void Page_Load(object sender, System.EventArgs e)
    { TableLogOnInfo logOnInfo = new TableLogOnInfo (); 
    //这里必须事先申明一个ReportDocument对象 Report,同时加载数据报表 
    ReportDocument oRpt = new ReportDocument(); 
    //获取.rpt文件真实路径 
    string path2; 
    path2="C:\\Inetpub\\wwwroot\\ASP\\NDMC2\\NDMCEx\\WebNDMC\\report\\CrystalReport2.rpt"; 
           
                           
    oRpt.Load (path2);  //从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; }
    //------------------------------------------------
    //Web.Congfig中
      <appSettings>
    <add key="servername" value="servername"/> 
    <add key="database" value="database"/>
    <add key="userid" value="sa"/>
    <add key="pass" value=""/>
        </appSettings>
    //我错在,这个文件的配置上,这里的ServerName不是真正的ServerName,应该是ODBC name