Visual Studio代码中的报告

2020-08-15 19:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 在我的Visual St...

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

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


嗨,

在我的Visual Studio C#代码中,我创建了一个创建ReportDocument对象的API。 我正在设置所有参数,登录凭据,并尝试与有权访问2个架构的用户登录。 两种模式都有名称相同的表。 该报告使用schema2中的表。 当代码尝试生成报告的内存流时,出现"字段名未知"错误。 这似乎正在发生,因为报告要使用的表来自schema1,该表没有报告正在使用的所有字段。 如何使报表使用特定的架构。 我可以在.net代码中进行设置吗?

这是我的代码段

ReportDocument rd = new ReportDocument();

varappedPath = HttpContext.Current.Server.MapPath("〜/Test");

rd.Load(Path.Combine(mappedPath ??抛出新的InvalidOperationException()," Test.rpt")));

ConnectionInfo connectioninfo =新的ConnectionInfo();

connectioninfo.DatabaseName =" database1";

connectioninfo.UserID =" userabc";

connectioninfo.Password =" test123";

rd.DataSourceConnections [0] .IntegratedSecurity = true;

Tables表= rd.Database.Tables;

foreach(表格中的CrystalDecisions.CrystalReports.Engine.Table表)

{

TableLogOnInfo tableLogonInfo = table.LogOnInfo;

tableLogonInfo.ConnectionInfo = connectioninfo;

table.ApplyLogOnInfo(tableLogonInfo);

}

rd.SetDatabaseLogon(connectioninfo.UserID,connectioninfo.Password,connectioninfo.DatabaseName,connectioninfo.DatabaseName,true);

rd.VerifyDatabase();

byte [] getBytes;

MemoryStream ms =(MemoryStream)rd.ExportToStream(ExportFormatType.PortableDocFormat);