Crystal reports Crystal report--登录参数错误无效
我有一个crystal report,它在我的本地机器上运行良好,但当我将它移动到服务器时,它给了我一个不正确的登录参数 代码如下。它是从.net应用程序调用的 Dim CR作为新的报告文档Crystal reports Crystal report--登录参数错误无效,crystal-reports,Crystal Reports,我有一个crystal report,它在我的本地机器上运行良好,但当我将它移动到服务器时,它给了我一个不正确的登录参数 代码如下。它是从.net应用程序调用的 Dim CR作为新的报告文档 Dim str As String = Application.StartupPath If PrintDialog1.ShowDialog() <> Windows.Forms.DialogResult.OK Then Exit Sub CR.Load(Applicat
Dim str As String = Application.StartupPath
If PrintDialog1.ShowDialog() <> Windows.Forms.DialogResult.OK Then Exit Sub
CR.Load(Application.StartupPath & "\CR Reports\BookPickByConsignee.rpt")
CR.SetParameterValue("param_picknumber", Me.txtpickNumber.Text.Trim())
CR.DataSourceConnections.Item(0).SetConnection(Configuration.ConfigurationSettings.AppSettings("DatabaseServer").ToString(), Configuration.ConfigurationSettings.AppSettings("DatabaseName").ToString(), Configuration.ConfigurationSettings.AppSettings("UserName").ToString(), Configuration.ConfigurationSettings.AppSettings("Password").ToString())
'CR.DataSourceConnections.Item(0).SetLogon("sa", "pwd")
' CR.SetDatabaseLogon("sa", "pwd")
CR.PrintOptions.PrinterName = PrintDialog1.PrinterSettings.PrinterName
CR.PrintToPrinter(Me.txtCopies.Text, True, 1, 100)
CR.Close()
您可以使用以下代码在运行时为报表应用某些连接详细信息。 对不起,代码是c。 请在加载报表rpt文件后使用该方法,而不是CR.DataSourceConnections.Item0.SetConnection,并将所需的连接详细信息传递给该方法,它将起作用
public static void CrystalReportLogOn(ReportDocument reportParameters,
string serverName,
string databaseName,
string userName,
string password)
{
TableLogOnInfo logOnInfo;
ReportDocument subRd;
Sections sects;
ReportObjects ros;
SubreportObject sro;
if (reportParameters == null)
{
throw new ArgumentNullException("reportParameters");
}
try
{
foreach (CrystalDecisions.CrystalReports.Engine.Table t in reportParameters.Database.Tables)
{
logOnInfo = t.LogOnInfo;
logOnInfo.ReportName = reportParameters.Name;
logOnInfo.ConnectionInfo.ServerName = serverName;
logOnInfo.ConnectionInfo.DatabaseName = databaseName;
logOnInfo.ConnectionInfo.UserID = userName;
logOnInfo.ConnectionInfo.Password = password;
logOnInfo.TableName = t.Name;
t.ApplyLogOnInfo(logOnInfo);
t.Location = t.Name;
}
}
catch
{
throw;
}
sects = reportParameters.ReportDefinition.Sections;
foreach (Section sect in sects)
{
ros = sect.ReportObjects;
foreach (ReportObject ro in ros)
{
if (ro.Kind == ReportObjectKind.SubreportObject)
{
sro = (SubreportObject)ro;
subRd = sro.OpenSubreport(sro.SubreportName);
try
{
foreach (CrystalDecisions.CrystalReports.Engine.Table t in subRd.Database.Tables)
{
logOnInfo = t.LogOnInfo;
logOnInfo.ReportName = reportParameters.Name;
logOnInfo.ConnectionInfo.ServerName = serverName;
logOnInfo.ConnectionInfo.DatabaseName = databaseName;
logOnInfo.ConnectionInfo.UserID = userName;
logOnInfo.ConnectionInfo.Password = password;
logOnInfo.TableName = t.Name;
t.ApplyLogOnInfo(logOnInfo);
}
}
catch
{
throw;
}
}
}
}
}
嗯,我必须问一下-您服务器上的配置文件是否指向正确的数据库?您验证了吗?@Amit,请修复代码的格式。