ApplyLogOnInfo不起作用

2020-09-24 10:30发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我们正在尝试使用Appl...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们正在尝试使用ApplyLogOnInfo动态传递Sybase数据库登录凭据,以将数据加载/导出到.rpt文件。 但是,在调用该函数时似乎没有做任何事情。

我们正在将Microsoft Visual Basic 2015与SAP BusinessObjects Enterprise XI 4.0一起使用。 以下是部分代码:

导入CrystalDecisions.Reporting
 导入System.IO
 导入System.Data.Odbc
 导入System.Data
 导入System.Configuration
 导入CrystalDecisions.CrystalReports.Engine
 导入CrystalDecisions.Shared
 导入CrystalDecisions.ReportAppServer.DataDefModel

 模块Module1

     子Main()
         '获取命令行参数
         Dim CommandLineArgs作为System.Collections.ObjectModel.ReadOnlyCollection(String)= My.Application.CommandLineArgs

         将myConnectionInfo设置为新的CrystalDecisions.Shared.ConnectionInfo()
         与myConnectionInfo
             .ServerName = CommandLineArgs(5)
             .DatabaseName = CommandLineArgs(7)
             .UserID = CommandLineArgs(9)
             .Password = CommandLineArgs(11)
         结束于

         昏暗的cryRpt作为新的ReportDocument
         cryRpt.Load(CommandLineArgs(3))
         cryRpt.SetDatabaseLogon(myConnectionInfo.UserID,myConnectionInfo.Password,myConnectionInfo.ServerName,myConnectionInfo.DatabaseName)

         Dim crTables作为CrystalDecisions.CrystalReports.Engine.Tables = cryRpt.Database.Tables

         对于每个crTable,如crTables中的CrystalDecisions.CrystalReports.Engine.Table
             将crTableLogonInfo设为新的TableLogOnInfo()
             crTableLogonInfo = crTable.LogOnInfo
             crTableLogonInfo.ReportName = cryRpt.Name
             crTableLogonInfo.ConnectionInfo.AllowCustomConnection = True
             crTableLogonInfo.ConnectionInfo = myConnectionInfo
             crTableLogonInfo.TableName = crTable.Name
             MessageBox.Show(crTableLogonInfo.ConnectionInfo.ServerName)
             MessageBox.Show(crTableLogonInfo.ConnectionInfo.DatabaseName)
             MessageBox.Show(crTableLogonInfo.ConnectionInfo.UserID)
             MessageBox.Show(crTableLogonInfo.ConnectionInfo.Password)
             crTable.ApplyLogOnInfo(crTableLogonInfo)
             MessageBox.Show(crTable.LogOnInfo.ConnectionInfo.ServerName)
             MessageBox.Show(crTable.LogOnInfo.ConnectionInfo.DatabaseName)
             MessageBox.Show(crTable.LogOnInfo.ConnectionInfo.UserID)
             MessageBox.Show(crTable.LogOnInfo.ConnectionInfo.Password)
             如果不是crTable.TestConnectivity()然后
                 MessageBox.Show("无法应用登录")
             万一
         下一个

在故障排除期间添加了消息框,该消息框显示表的登录凭据未更新为提供的值。 而是显示了.rpt文件开发过程中使用的数据库的详细信息。

我们已经搜索了有关ApplyLogOnInfo函数的先前询问的问题,但没有找到任何解决方案。

非常感谢您的帮助!

P.S。 -如果没有提供足够的信息,请提前道歉。

4条回答
Climb_Ma
2020-09-24 10:55

Hi Don,

赞赏快速反应。

据我所知,BOE服务器版本为14.1.7.1853 2013 Support Pack7。VB引用的.NET SDK显示为v13。

是否存在用于Crystal Reports的v14 .NET SDK? 我找不到高于13的东西。

谢谢

Chris

一周热门 更多>