是否有任何方法可以更改報表及其所有子報表的數據源位置,而無需手動打開每個報表?替換報告和所有子報表的數據庫連接
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