我使用 Crystal Report 2011 制作了一份报告,它在大多数计算机上都可以正常工作,但并非所有计算机都以这种方式丢失了数据库名称。即使我使用代码输入了名称,也使用其属性和服务器配置正确更新了它。它在大多数电脑上都可以正常工作,但很少有电脑会错过它,我重新安装了水晶报告运行时,但它没有工作。我附上错误图像。
问问题
1099 次
2 回答
1
加载报告后调用以下函数。
public void SetReportLogon(ReportDocument rptDoc)
{
if (rptConnection.ServerName == null || rptConnection.ServerName != DBHost)
rptConnection.ServerName = DBHost;
if (rptConnection.ServerName == null || rptConnection.DatabaseName != DBName)
rptConnection.DatabaseName = DBName;
rptConnection.UserID = DBUserID;
rptConnection.Password = DBPassword;
foreach (ReportDocument subRpt in rptDoc.Subreports)
{
foreach (Table crTable in subRpt.Database.Tables)
{
crTable.LogOnInfo.ConnectionInfo.AllowCustomConnection = true;
TableLogOnInfo logInfo = crTable.LogOnInfo;
logInfo.ConnectionInfo = rptConnection;
crTable.ApplyLogOnInfo(logInfo);
}
}
foreach (Table crTable in rptDoc.Database.Tables)
{
crTable.LogOnInfo.ConnectionInfo.AllowCustomConnection = true;
TableLogOnInfo loi = crTable.LogOnInfo;
loi.ConnectionInfo = rptConnection;
crTable.ApplyLogOnInfo(loi);
}
}
于 2012-11-25T08:01:07.820 回答
0
您是否使用集成安全性?(该对话框同时勾选了用户/通行证和集成安全性——这相互矛盾)。
请粘贴您用于设置 TableLogonInfo 的代码
于 2012-04-10T14:05:35.700 回答