Crystal Report凭据部署后提示
问题描述:
我正在使用以下代码在远程服务器上发布水晶报表。当我尝试运行水晶报表页面Crystal报表查看器提示我输入数据库信息。由于发布的水晶报告是使用开发服务器创建的。在我的水晶报表我使用OLEDB ADO连接Crystal Report凭据部署后提示
MyRepository _MyRepository = new MyRepository();
System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection();
myConnection.ConnectionString = ConfigurationManager.ConnectionStrings["MyConnStr"].ConnectionString;
System.Data.SqlClient.SqlCommand MyCommand = new System.Data.SqlClient.SqlCommand("dbo.spMySP");
MyCommand.Connection = myConnection;
MyCommand.Parameters.Add("@PositionID", SqlDbType.Int).Value = (cmbPositions.SelectedValue == "" ? 0 : Convert.ToInt32(cmbPositions.SelectedValue));
MyCommand.CommandType = System.Data.CommandType.StoredProcedure;
System.Data.SqlClient.SqlDataAdapter MyDA = new System.Data.SqlClient.SqlDataAdapter();
MyDA.SelectCommand = MyCommand;
ASale _DS = new ASale();
MyDA.Fill(_DS, "dbo.spMySP");
rptSale oRpt = new rptSale();
oRpt.SetDatabaseLogon("sa", "mypass");
oRpt.SetDataSource(_DS);
oRpt.SetParameterValue(0, "param1");
oRpt.SetParameterValue(1, "param2");
oRpt.SetParameterValue(2, "param3");
oRpt.SetParameterValue(3, (cmbPositions.SelectedValue == "" ? 0 : Convert.ToInt32(cmbPositions.SelectedValue)));
CrystalReportViewer1.ReportSource = oRpt;
答
HI,
当你开发你的报告中,你使用Windows身份验证登录到数据库建设的报告?
也许您可以尝试再次打开报告并尝试更新您在Crystal报告中设置的数据库。例如。通过使用您在代码中使用的相同登录信息。
我通常的做法是将数据库服务器名称和数据库名称也放在代码中 E.G. _CReportDoc.SetDatabaseLogon(用户名,PW,服务器名称,DB)
不知道是否可以帮助
+0
访问凭据,但我想设置此信息通过web.config,以便我不需要更改我的报告的代码发布 – Tassadaque 2011-01-31 18:25:40
我需要改变setDatabaseLogon如此,它也可以从web.config中 – Tassadaque 2011-01-26 08:43:44