检索水晶报表存储过程

本文关键字:存储过程 报表 水晶 检索 | 更新日期: 2023-09-27 18:03:35

我有一个Crystal报表文件,我想知道报表上使用的存储过程的名称是什么。我如何通过后面的代码检索它。这可能吗?

c#代码会更好,因为我是用c#写代码的。

检索水晶报表存储过程

假设您只对获取SP的名称感兴趣,那么有几种不同的方法可以解决这个问题:

如果你有水晶报表…

  1. 打开设置数据源位置对话框。底部窗格将是可用数据库对象的树状视图,包括存储过程列表。高亮显示的SP将是它为检索报告数据而调用的SP。

  2. 如果没有帮助(即:没有突出显示的存储过程),然后右键单击报告设计器区域,选择Database -> Show SQL Query。这将显示用于从数据库检索数据的查询。它可能包含存储过程的名称。

如果你没有水晶报表…

  • 使用code Project中的代码将报告加载到c#中并从那里遍历报告。http://www.codeproject.com/KB/cs/loadingcrystalreport.aspx

  • 如果这没有帮助(即:你还没有准备好处理水晶报告的c#方面),那么你可以使用你的数据库的分析工具来监视你的报告调用,看看它正在调用哪个SP(s)来获得运行报告所需的数据。SQL Server的SQL Profiler就是一个很好的工具。这里有一些教程来帮助你:

    • Microsoft MSDN: ARTICLE http://msdn.microsoft.com/en-us/library/ms187929.aspx
    • Tech Republic: ARTICLE http://www.techrepublic.com/article/step-by-step-an-introduction-to-sql-server-profiler/5054787
    • SQLServerPedia: VIDEO http://sqlserverpedia.com/wiki/Using_SQL_Server_Profiler

不幸的是,没有办法通过编程来做到这一点。您可以查看数据源,设置数据源,但是除了通过Crystal Reports设计器之外,您不能检索用于生成报表的实际SQL。