点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在将Visual Stud...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在将Visual Stud...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们正在将Visual Studio CRRuntime_32bit_13_0_22的Crystal Reports与Visual Studio 2017和DB2 Windows数据库一起使用。
我们需要在运行时更改数据库连接(服务器,数据库,用户密码)。 我们的应用程序具有示例报告,我们将与我们的应用程序一起分发给客户。
在尝试预览报告时(如果使用WPF查看器,则有任何区别),将引发异常,并显示以下消息:
无法连接:错误的登录参数。
table.ApplyLogOnInfo(table.LogOnInfo);
发生异常在加载报告时,在预览之前,将执行以下代码来更改连接信息。 我基于以下示例: https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports+for+.NET+SDK+Samples?original_fqdn=wiki.sdn .sap.com#CrystalReportsfor.NETSDKS示例数据库
我没有使用子报表,因此没有遍历子报表列表。
这是我的代码:
私有void ChangeConnectionInfo(ReportDocument boReportDocument) { boReportDocument.SetDatabaseLogon(databaseUser,databasePassword,databaseServer,databaseName); TableLogOnInfo logOnInfo; foreach(boReportDocument.Database.Tables中的CrystalDecisions.CrystalReports.Engine.Table表) { logOnInfo = table.LogOnInfo; logOnInfo.ReportName = boReportDocument.Name; logOnInfo.ConnectionInfo.ServerName = databaseServer; logOnInfo.ConnectionInfo.DatabaseName = databaseName; logOnInfo.ConnectionInfo.UserID = databaseUser; logOnInfo.ConnectionInfo.Password = databasePassword; logOnInfo.TableName = table.Name; 如果(schemaName.IsNotNullOrEmpty()) table.Location = $" {schemaName}。{table.Name}"; 其他 table.Location = table.Name; table.ApplyLogOnInfo(table.LogOnInfo); } }
我在调试时注意到的一件奇怪的事是,即使table.count为6,并且表可以为null,但我可以在调试器中查看整个列表。 我不知道这是问题的征兆还是调试器异常。
任何帮助将不胜感激。
埃里克
使用引擎仅用于更改服务器,前提是数据库未更改。
"下载WIKI"页面是我编写的用于使用ReplaceConnection()设置登录信息的应用程序。 看看是否适合您。
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
它是Parameter测试应用,位于页面的中间。
问题可能是您需要将数据库名称转换为String()。
Don
一周热门 更多>