是否有任何方法可以更改报表及其所有子报表的数据源位置,而无需手动打开每个报表?替换报告和所有子报表的数据库连接
7
A
回答
-1
我猜你在谈论Reporting Services的.rdl文件? (如果没有,我的回答可能是错误的)
它们基本上只是XML,所以你可以加载它们中的每一个并执行XPath查询来获取包含数据源的节点并更新它。
1
链接的子报告(至少在CR XI中)共享主报告的数据源 - 大概您的报告已经配置好了,这对您不适合?
1
@未使用我认为他所面临的问题是,如果您将某人开发的水晶报表针对另一个数据库开发,并且您将其置于Crystal Reports XI中,则必须为每个字段更改数据源,包括那些在子报表中。如果您只是更改报告顶层的来源,则通常会出错。 (我认为这是Crystal Reports中的一个已知问题)。
6
这是我在运行时设置连接的方式。我从配置位置获取连接信息。
#'SET REPORT CONNECTION INFO
For i = 0 To rsource.ReportDocument.DataSourceConnections.Count - 1
rsource.ReportDocument.DataSourceConnections(i).SetConnection(crystalServer, crystalDB, crystalUser, crystalPassword)
Next
For i = 0 To rsource.ReportDocument.Subreports.Count - 1
For x = 0 To rsource.ReportDocument.Subreports(i).DataSourceConnections.Count - 1
rsource.ReportDocument.OpenSubreport(rsource.ReportDocument.Subreports(i).Name).DataSourceConnections(x).SetConnection(crystalServer, crystalDB, crystalUser, crystalPassword)
Next
Next
2
如果您只是将其作为一笔交易处理,我的建议可能无济于事。但是,如果您经常更改数据源,则可能会有用。
声明:我从9.0版本开始就没有使用Crystal,所以我不知道他们是否在这方面有所改进。我总是用UDL files。基本上,它是一个指向数据源的指针。将报告设置为指向UDL,并且UDL指向数据源。如果源更改,只需更新UDL。
如果您有多个报告,这非常有用。您只需在服务器更改时更新一个文件。
相关问题
- 1. 用JRC替换子报表的数据库连接
- 2. 报告服务将报告连接到多个数据库
- 3. Crystal报告数据库连接问题
- 4. 没有连接到数据库的水晶报告图表
- 5. 将JRBeancollection数据库传递给主报告和子报告
- 6. 数据库(OLTP)和报告
- 7. NoSQL数据库和报告
- 8. Rails 4任务与环境和数据库连接,但没有连接报告
- 9. 数据库连接水晶报表
- 10. 在重写子报表数据源时链接主报表和子报表
- 11. C#asp.net报告和报表查看器(或的ReportViewer)子报告
- 12. 命令替换,DB2报告没有连接
- 13. BIRT报告没有发布连接到数据库?
- 14. TFS 2010报告服务 - 所有报告都不包含数据
- 15. 贾斯珀报告 - 子报告与所有主要报告的详细信息
- 16. 水晶报表子报表没有链接到我的主要报告
- 17. 数据库建模电子邮件列表和报告类型
- 18. 带有SSRS报告的Oracle数据库
- 19. VS报告和子报告加入?
- 20. TideSDK中的串口,数据库连接和报表
- 21. Crystal Report:报告无法连接到分配的数据库
- 22. 创建用于报告的动态odbc连接到数据库
- 23. 使用JasperReports与数据库连接的报告
- 24. 数据库设计 - 报告
- 25. 报告数据库同步
- 26. 水晶报告的子报表中的数据不能读取
- 27. 运行报告后,BIRT报告没有关闭连接?
- 28. 数据库大小报告与SQL Server中所有表的总和不同
- 29. crystal报告子报告
- 30. 报告,子报告pentaho
我发现这对于在运行时设置连接最有帮助。 – 2018-02-14 12:54:10