水晶报表:确定数据源

2020-09-21 15:46发布

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

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


嗨,

我们正在使用具有Typed Data设置的Crystal报表在我们的应用程序中生成报表,它按预期工作。 但是客户使用SQL数据源(即通过添加OLEDB连接)向该报告中添加了一些其他表,以向该报告中添加所需的表。 现在,如果我们生成报告,它将每隔 time.To 询问SQL Server凭据,我们就有了 编写了以下代码,以便为报告提供SQL凭据。

将reportGlobal用作新ReportDocument

将crtableLogoninfo设置为TableLogOnInfo =新的TableLogOnInfo

将crConnectionInfo设置为ConnectionInfo = New ConnectionInfo

将CrTables视作表crConnectionInfo.ServerName =" sqlservername" crConnectionInfo.DatabaseName ="数据库名称"

crConnectionInfo.UserID =" sa"

crConnectionInfo.Password ="密码"

crConnectionInfo.IntegratedSecurity = True

CrTables = reportGlobal.Database.Tables

每个CrTable作为CrTable中的CrystalDecisions.CrystalReports.Engine.Table crtableLogoninfo = CrTable.LogOnInfo crtableLogoninfo.ConnectionInfo = crConnectionInfo CrTable.ApplyLogOnInfo(crtableLogoninfo)

下一个

按照上面的代码,我们的应用程序将在类型化数据集和其他类型(即SQL Server中新添加的表)中获取所有可用表。 然后,我们的连接信息将设置到所有表。 我们想知道是否有其他方法可以将SQL数据源标识添加到报表中,或者是否有任何方法可以标识未包含在类型化数据集中的表。 请在上面帮助我们。 谢谢

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

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


嗨,

我们正在使用具有Typed Data设置的Crystal报表在我们的应用程序中生成报表,它按预期工作。 但是客户使用SQL数据源(即通过添加OLEDB连接)向该报告中添加了一些其他表,以向该报告中添加所需的表。 现在,如果我们生成报告,它将每隔 time.To 询问SQL Server凭据,我们就有了 编写了以下代码,以便为报告提供SQL凭据。

将reportGlobal用作新ReportDocument

将crtableLogoninfo设置为TableLogOnInfo =新的TableLogOnInfo

将crConnectionInfo设置为ConnectionInfo = New ConnectionInfo

将CrTables视作表crConnectionInfo.ServerName =" sqlservername" crConnectionInfo.DatabaseName ="数据库名称"

crConnectionInfo.UserID =" sa"

crConnectionInfo.Password ="密码"

crConnectionInfo.IntegratedSecurity = True

CrTables = reportGlobal.Database.Tables

每个CrTable作为CrTable中的CrystalDecisions.CrystalReports.Engine.Table crtableLogoninfo = CrTable.LogOnInfo crtableLogoninfo.ConnectionInfo = crConnectionInfo CrTable.ApplyLogOnInfo(crtableLogoninfo)

下一个

按照上面的代码,我们的应用程序将在类型化数据集和其他类型(即SQL Server中新添加的表)中获取所有可用表。 然后,我们的连接信息将设置到所有表。 我们想知道是否有其他方法可以将SQL数据源标识添加到报表中,或者是否有任何方法可以标识未包含在类型化数据集中的表。 请在上面帮助我们。 谢谢

付费偷看设置
发送
2条回答
jovirus
1楼-- · 2020-09-21 16:48

在您的应用程序中,您是否对DataSet中的表遵循特定的命名约定? 如果是这样,则在遍历表时,可以确定哪些表使用该命名约定,并跳过在这些表上设置登录名的操作。 另外,我相信" IntegratedSecurity"设置使用用户的凭据(而不是您在代码中设置的凭据)打开对数据库的单点登录,因此您可能希望尝试将其从代码中删除。

-Dell

2楼-- · 2020-09-21 16:30

您肯定要更改代码以将IntegratedSecurity设置为false。

除此之外,您还需要在遍历表时查看每个表的ConnectionInfo。 我不确定这两种类型的表之间的区别是什么,但是会有区别(通过代码调试以查看它的含义),这将帮助您确定不会为哪些表设置登录信息

-戴尔

一周热门 更多>