最好还是动态帮定,不需要制定路径,只需要制定那个rpt

解决方案 »

  1.   

    我的这个rpt文件和aspx文件是在同一级目录下,请问改成什么样子的,就是这个C:\\Inetpub\\wwwroot\\Crystal\\first.rpt
      

  2.   

    http://www.e-bluefield.com/dotnet8/article/list.asp?id=19
    http://ww.cseek.com/20030327/1659638.shtml
      

  3.   

    jiezhi(Niu) ,你好,我是按你给的第一个链接的方法做的,一直到可以预览那些报表了(17) 此时你能够从Crystal Report Viewer 控件中看到使用一些虚拟数据组成的报表文件的预览。),但一编译的话,就出错了。
    qimini(循序渐进) :我试过first.rpt,这个控件就显示error了,说路径不对
      

  4.   

    你是指这样?
    private void Page_Load(object sender, System.EventArgs e)
    {
    crv.ReportSource="C:\\Inetpub\\wwwroot\\Crystal\\first.rpt";
    crv.DataBind();
    }--------------
    现在的错误是:
    ---------
    “/Crystal”应用程序中的服务器错误。
    --------------------------------------------------------------------------------Logon failed. 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: Logon failed.源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
    [LogOnException: Logon failed.]
       .F(String  , EngineExceptionErrorID 
    )
       .A(Int16 , Int32 )
       .@(Int16 )
       CrystalDecisions.CrystalReports.Engine.FormatEngine.GetPage(PageRequestContext reqContext)
       CrystalDecisions.ReportSource.LocalReportSourceBase.GetPage(PageRequestContext pageReqContext)
       CrystalDecisions.Web.ReportAgent.u(Boolean N)
       CrystalDecisions.Web.CrystalReportViewer.OnPreRender(EventArgs e)
       System.Web.UI.Control.PreRenderRecursiveInternal()
       System.Web.UI.Control.PreRenderRecursiveInternal()
       System.Web.UI.Control.PreRenderRecursiveInternal()
       System.Web.UI.Page.ProcessRequestMain() 
      

  5.   

    使用"push"方式创建报表就不会有这个问题
      

  6.   

    Logon failed. 
    是你的报表在登陆服务器数据库的时候出现的问题看下面代码:
            Dim conn As New ConnectionInfo
            Dim log As TableLogOnInfo
            Dim tbl As Table
            Dim cn As New SqlClient.SqlConnection
            cn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings.Item("ConnectionString")        With conn
                .ServerName = cn.DataSource
                .DatabaseName = cn.Database
                .UserID = ConfigurationSettings.AppSettings.Item("uid")
                .Password = ConfigurationSettings.AppSettings.Item("pwd")
            End With        For Each tbl In rpt.Database.Tables
                log = tbl.LogOnInfo
                log.ConnectionInfo = conn
                tbl.ApplyLogOnInfo(log)
            Next
      

  7.   

    用push方法吧,我可以提供你源代码,共同学习
      

  8.   

    你改成动态加数据源:
    先引入名称空间:
    using CrystalDecisions.CrystalReports.Engine;代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
    ReportDocument oRpt = new ReportDocument();
    string path2="C:\\Inetpub\\wwwroot\\Crystal\\first.rpt";
                oRpt.Load(path2);
    string cs="server=127.0.0.1;uid=sa;pwd=;database=pubs";
    SqlConnection con=new SqlConnection(cs);
    SqlCommand com=new SqlCommand("select *from stores",con);
    con.Open();
    SqlDataReader read=com.ExecuteReader();
    this.CrystalReportViewer1.ReportSource=oRpt;
    }
      

  9.   

    有没有可能VS.net2003自带的水晶报表是老版本的?
    新版本的CrystalReportViewer无法运行显示老板本写的水晶报表,因为在VS.net2003运行显示VS.net2002自带的报表样例,会产生同样的错误;而运行显示VS.net2003自带的报表样例一切正常??????????
    Webform
    Winform下能够兼容
      

  10.   

    后来又试了一下,2002的报表竟然能运行了,也许前面是报表地址写错了;但是在2002中新建的并能正常运行的报表在2003中的确不能正常运行
    另外我看了一下软件自带的报表,它是用Access数据库,所以我新建了一张报表,连接它的Access数据库运行正常,但是连接自己建的Access 数据库则无法正常运行
      

  11.   

    问题可能原因:
    1、数据库连接设置;
    2、或者,数据库问题。数据库连接设置方法:
    VS.NET
    1、新建水晶报表文件,并进入“标准报表专家”;
    2、在“数据”选项卡中设置“数据源”,选择“数据库文件”;
    3、打开 Access 文件。Crystal Report 9
    1、新建水晶报表文件,并进入“标准报表专家”;
    2、在“数据”选项卡中设置“数据源”,选择“创建新连接”,Acess/Excel (DAO);
    3、打开 Access 文件。数据库问题:
    新建一个……