2

我在 Windows 窗体的 Crystal Report 中提供用户 ID 和密码时遇到问题。我在连接到 SQL Server 时使用了 Windows 身份验证,有时将 sa 帐户与 sql server 身份验证一起使用。所以我尝试了使用空白密码的服务器名称,但它失败了。我还尝试了 sql server 身份验证的 sa 登录,提供了与我连接到 sql server 时使用的密码相同的密码。用户 ID 与 sqlserver 的登录名不同吗?如何在 Crystal Reports 中提供用户 ID 和密码?

我还尝试使用 UserID 作为 sa 及其密码添加动态登录参数。但还是失败了。

我已经知道如何在数据库中连接我的应用程序,但我认为它与水晶报表不同。

4

2 回答 2

0

希望您使用的是 Report 文档,这里是 C# 代码片段,用于即时设置连接。您可能还需要遍历子报告以设置连接(如果有)

for (int i = 0; i < reportDocument.DataSourceConnections.Count; i++)
                {
                    reportDocument.DataSourceConnections[i].SetConnection(Server.Name, Database.Name, Server.User.Name,Server.User.Password);
                    reportDocument.DataSourceConnections[i].SetLogon(Server.User.Name, Server.User.Password);
                }
于 2013-07-03T07:39:37.460 回答
0

嗨,请查看下面的代码片段,这就是我在使用水晶报表时设置数据库连接的方式。希望对您有所帮助。

            ReportDocument cryRpt = new ReportDocument();
            TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
            TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
            ConnectionInfo crConnectionInfo = new ConnectionInfo();
            Tables CrTables;

            cryRpt.Load(Application.StartupPath + "\\CrystalReport1.rpt");


            crConnectionInfo.ServerName = "server Name";
            crConnectionInfo.DatabaseName = "Database Name";
            crConnectionInfo.UserID = "sa";
            crConnectionInfo.Password = "****";

            CrTables = cryRpt.Database.Tables;
            foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
            {
                crtableLogoninfo = CrTable.LogOnInfo;
                crtableLogoninfo.ConnectionInfo = crConnectionInfo;
                CrTable.ApplyLogOnInfo(crtableLogoninfo);
            }
于 2015-09-25T13:26:10.593 回答