Windows Server 2012问题中的Crystal报表 [英] Crystal report in windows server 2012 issue
问题描述
在Windows Server 2012中托管时,visual studio 2008的水晶报告登录失败错误登录详细信息错误。它在Windows Server 2003中正常工作。
代码如下:
在页面加载下
public void ViewReportCR()
{
ReportDocument reportDocument = new ReportDocument();
ParameterField paramField = new ParameterField();
ParameterFields paramFields = new ParameterFields();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
string conString = Common.GetConnectionStringsSection()。ConnectionStrings [connectionStrings] .ConnectionString;
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(conString);
< br $>
reportDocument.Load(Server.MapPath(〜// Reports // CRSensorDataRepo) rt.rpt));
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = builder.DataSource;
connectionInfo.DatabaseName = builder.InitialCatalog;
connectionInfo.UserID = builder.UserID;
connectionInfo.Password = builder.Password;
connectionInfo.Type = ConnectionInfoType .SQL;
connectionInfo.IntegratedSecurity = false;
TableLogOnInfo rptTableLogOnInfo = new TableLogOnInfo();
rptTableLogOnInfo .ConnectionInfo = connectionInfo;
for(int i = 0; i< reportdocument.database.tables.count; i ++)>
reportDocument.Database.Tables [i] .ApplyLogOnInfo(rptTableLogOnInfo);
if(ddlSystemID.SelectedIndex!= 0)
reportDocument.SetParameterValue(@ ip_S ystemID,ddlSystemID.SelectedValue);
else
reportDocument.SetParameterValue(@ ip_SystemID,0);
if(ddlSensorType.SelectedIndex != 0)
reportDocument.SetParameterValue(@ ip_SensorType,ddlSensorType.SelectedValue);
else
reportDocument.SetParameterValue(@ ip_SensorType ,-1);
if(ddlParamName.SelectedIndex!= 0)
reportDocument.SetParameterValue(@ ip_ParamName,ddlParamName.SelectedValue);
else
reportDocument.SetParameterValue(@ ip_ParamName,0);
if(txtFromDate.Text!=)
reportDocument.SetParameterValue(@ ip_FromDate,txtFromDate.Text);
else
reportDocument.SetParameterValue(@ ip_FromDate,);
if(txtToDate.Text!= )
reportDocument.SetParameterValue(@ ip_ToDate,txtToDate.Text);
else
reportDocument.SetParameterValue(@ ip_ToDate ,);
// if(ddlSystemID.SelectedIndex!= 0 && txtFromDate.Text!=&& txtToDate.Text!=&& reportDocument。 Rows.Count!= 0)
// {
CrystalReportViewer1.ToolbarStyle.Width = new Unit(100%);
CrystalReportViewer1.ReportSource = reportDocument;
CrystalReportViewer1.Visible = true;
//}
}
Login failed incorrect login details error for crystal report for visual studio 2008 when hosting in windows server 2012. Its working fine in windows server 2003.
Code as follows:
Under page load
public void ViewReportCR()
{
ReportDocument reportDocument = new ReportDocument();
ParameterField paramField = new ParameterField();
ParameterFields paramFields = new ParameterFields();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
string conString = Common.GetConnectionStringsSection().ConnectionStrings["connectionStrings"].ConnectionString;
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(conString);
reportDocument.Load(Server.MapPath("~//Reports//CRSensorDataReport.rpt"));
ConnectionInfo connectionInfo = new ConnectionInfo( );
connectionInfo.ServerName =builder.DataSource;
connectionInfo.DatabaseName = builder.InitialCatalog;
connectionInfo.UserID = builder.UserID;
connectionInfo.Password = builder.Password;
connectionInfo.Type = ConnectionInfoType.SQL;
connectionInfo.IntegratedSecurity = false;
TableLogOnInfo rptTableLogOnInfo =new TableLogOnInfo( );
rptTableLogOnInfo.ConnectionInfo=connectionInfo;
for(int i=0;i<reportdocument.database.tables.count;i++)>
reportDocument.Database.Tables[i].ApplyLogOnInfo( rptTableLogOnInfo );
if (ddlSystemID.SelectedIndex != 0)
reportDocument.SetParameterValue("@ip_SystemID", ddlSystemID.SelectedValue);
else
reportDocument.SetParameterValue("@ip_SystemID", 0);
if (ddlSensorType.SelectedIndex != 0)
reportDocument.SetParameterValue("@ip_SensorType", ddlSensorType.SelectedValue);
else
reportDocument.SetParameterValue("@ip_SensorType", -1);
if (ddlParamName.SelectedIndex != 0)
reportDocument.SetParameterValue("@ip_ParamName", ddlParamName.SelectedValue);
else
reportDocument.SetParameterValue("@ip_ParamName", 0);
if (txtFromDate.Text != "")
reportDocument.SetParameterValue("@ip_FromDate", txtFromDate.Text);
else
reportDocument.SetParameterValue("@ip_FromDate", "");
if (txtToDate.Text != "")
reportDocument.SetParameterValue("@ip_ToDate", txtToDate.Text);
else
reportDocument.SetParameterValue("@ip_ToDate", "");
//if (ddlSystemID.SelectedIndex != 0 && txtFromDate.Text != "" && txtToDate.Text != "" && reportDocument.Rows.Count != 0)
//{
CrystalReportViewer1.ToolbarStyle.Width = new Unit("100%");
CrystalReportViewer1.ReportSource = reportDocument;
CrystalReportViewer1.Visible = true;
//}
}
推荐答案
检查这个< br $> b $ b
Crystal Reports XI不适用于Windows Server 2008或任何64位环境 [ ^ ]
Crystal Reports服务包和版本 [ ^ ]
Check this
Crystal Reports XI does not work on Windows server 2008 or any 64-bit environment[^]
Crystal Reports service packs and versions[^]
这篇关于Windows Server 2012问题中的Crystal报表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!