我在asp.net c#中的stimulsoft创建了一个报告。我创建了一个新连接,然后创建了新的数据源,并为其添加了一个退出的存储过程。然后我将这个数据源的列和参数分配给我的报告。我的问题是: 当我手动创建新的sqlconnection时,连接字符串是:
Data Source=my_pc-PC\my_servername;Integrated Security=True;Initial Catalog=my database_name
当我在我的电脑上运行我的网站时,每件事都很好。但是当我在web服务上设置我的网站时,我是否做任何事情来成功显示我的报告。 我的运行报告代码:
Stimulsoft.Report.Components.StiText t = new Stimulsoft.Report.Components.StiText();
t.Text = DateLabel.Text;
string str4 = Decrypt(Request.QueryString["select_rep_"]);
if (str4 == "1")
{
string str1 = Decrypt(Request.QueryString["fromdate_"]);
string str2 = Decrypt(Request.QueryString["todate_"]);
string ConnectionString = ConfigurationManager.ConnectionStrings["my_ejraConnectionString"].ConnectionString;
string serverlocation = HttpContext.Current.Server.MapPath(string.Empty);
StiReport myreport = new StiReport();
myreport.Dictionary.Databases.Add(new Stimulsoft.Report.Dictionary.StiSqlDatabase("Coneection", ConnectionString));
t.Text = DateLabel.Text;
myreport.Load(serverlocation + "\\rep\\myreport.mrt");
myreport.Dictionary.Variables["fromdate"].Value = str1;
myreport.Dictionary.Variables["todate"].Value = str2;
myreport.Dictionary.Variables["today"].Value = t.Text;
StiWebViewer1.Report = myreport;
}`enter code here`
此代码是否在Web服务器上没有任何更改?
答案 0 :(得分:0)
执行此操作,在使用之前清除数据库:
myreport.Dictionary.Databases.Clear();
myreport.Dictionary.Databases.Add(new StiSqlDatabase("ConnectionName", "ConnectionString"));
答案 1 :(得分:0)
这对我有用,在Asp.Net Core 2.0
遵循以下代码:
var myreport = new Stimulsoft.Report.StiReport();
_myreport.Load(@"C:\Users\Admin\Desktop\report.mrt"); // load report file
((StiSqlDatabase)myreport.Dictionary.Databases["Connection"]).ConnectionString = "new ConnectionString"; // set new connection string
myreport.Render();
需要安装NuGet软件包Stimulsoft.Reports.Web.NetCore
版本2018.3.5
希望有用。