0

请看下面的代码。我认为这很不言自明。我正在运行 VS2010 以及用于 VS2010 的 Crystal Reports。疯狂的事情是我有一个类似的项目,它的代码相似,但不会在该行产生异常......所以我一直试图找出这两个项目之间的区别,但到目前为止都是空的。

感谢您提供有关如何解决此问题的任何建议或想法!

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;

public partial class Reports : System.Web.UI.Page
{
  ReportDocument rptSP;


protected void Page_Load(object sender, EventArgs e)
{
   rptSP = new ReportDocument();
   string rptPath = Server.MapPath(Request.QueryString["rptname"].ToString());
   rptSP.Load(rptPath, 0);
   rptSP.DataSourceConnections["MyServer\\MyInst", "MyDB"].SetConnection("MyServer\\MyInst", "MyDB", "MyUsername", "MyPass");
//The above line causes an excepton while debugging on my local development machine

如果它在我的 aspx 页面上很重要,我有以下内容:

<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

然后在我的 web.config 我有:

            <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
            <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>

以及我的 BIN 目录中的一些其他 Crystal DLL。

4

1 回答 1

1

尝试:

rptSP.DataSourceConnections[@"MyServer\MyInst", "MyDB"].SetConnection(@"MyServer\MyInst", "MyDB", "MyUsername", "MyPass");

注意用单个反斜杠替换双反斜杠,以及随之而来的 @ 符号。我更喜欢这种方式来使用双反斜杠,因为这样我就可以显式地控制字符串格式。

于 2012-04-19T22:19:01.943 回答