Crystal Reports 提示在客户端应用程序上输入登录凭据,即使凭据在 cod 中传递

问题描述 投票:0回答:0

无论我如何处理,Crystal 都要求在客户端上提供登录凭据。它在开发机器上按预期工作。不确定是什么导致了这个问题。 Dev Machines 是 Win 10,而客户端是 Server 2019。我在 2019 年安装了 x64 Crystal Runtimes 和 .Net 4.8。该应用程序在其他方面运行良好。当我预览 Crystal Reports 时,只是提示输入登录凭据。这是我的代码:

    private void generateReport()
{
    string studyNum = txtStudyNum.Text.Trim().ToString();
    ReportDocument cryRpt = new ReportDocument();
    TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
    TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
    ConnectionInfo crConnectionInfo = new ConnectionInfo();
    Tables CrTables;

    var appPath = AppDomain.CurrentDomain.BaseDirectory;
    string reportName = "SponserSearch.rpt";
    var relativePath = System.IO.Path.Combine("StudyManagement", "Reports", reportName);
    appPath = System.IO.Path.Combine(appPath, relativePath);

    // System.Windows.Forms.MessageBox.Show(appPath.ToString()); 

    cryRpt.Load(appPath);  //path to report

    crConnectionInfo.ServerName = Properties.Settings.Default.strDBServer;
    crConnectionInfo.DatabaseName = Properties.Settings.Default.strDBName;
    crConnectionInfo.UserID = Properties.Settings.Default.strDBUser;
    crConnectionInfo.Password = Properties.Settings.Default.strDBPass;
    crConnectionInfo.IntegratedSecurity = false;
    

    CrTables = cryRpt.Database.Tables;
    foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
    {
        crtableLogoninfo = CrTable.LogOnInfo;
        crtableLogoninfo.ConnectionInfo = crConnectionInfo;
        CrTable.ApplyLogOnInfo(crtableLogoninfo);
    }

    cryRpt.SetDatabaseLogon(Properties.Settings.Default.strDBUser, Properties.Settings.Default.strDBPass);
    cryRpt.SetParameterValue("@SponsorInfo", studyNum);
    crystalViewer.ViewerCore.ReportSource = cryRpt;
}

我注意到的一些事情。
不工作的报告正在使用 SQLNCI11 本机 sql 客户端 11。报告很好,但提示登录。

MS 建议用 MSOLEDBSQL 替换提供程序,但它的工作方式与 SQLNCI11 提供程序一样。

SQLOLEDB Provider 不提示输入Credentials,但是从SQL 进来的Crystal Date 字段都是字符串。这真的让人很头疼,并打破了 100 多份报告。

我也曾尝试删除登录方面并移至集成安全性。它仍然提示输入登录凭据。

c# wpf crystal-reports .net-4.8
© www.soinside.com 2019 - 2024. All rights reserved.