Gre*_*g P 18 sql crystal-reports crystal-reports-2008
我有一个.rpt文件,我没有写,也找不到任何文档.我希望能够查看从此报告生成的SQL,以便我可以弄清楚它正在提取什么数据以及使用了什么WHERE子句参数.
我可以打开它并查看报告布局.但是当我选择Database | Show SQL Query ...时,报告会尝试连接到数据源.问题是,我使用的数据源是未知的,可能是编写查询的人使用的ODBC连接.我在那个阶段所能做的就是"取消",我又回到了报告设计师那里.
我错过了什么吗?我可以在不连接数据源的情况下进入SQL查询吗?看起来选择标准似乎不应该依赖于数据连接.
谢谢.
版本:Crystal Reports 2008
小智 18
我知道这是一个旧线程,但我遇到了同样的问题.实际上,我们曾经拥有一个数据库/应用程序,后来被外部机构收购.
虽然他们现在拥有数据库/应用程序,但他们无法访问水晶报表,因此我们不能只向他们发送我们过去运行的旧报表.同样,我们无法运行它,因为我们甚至没有在任何地方设置数据库....所以我们的计划只是提取报告生成的SQL代码并转发它.
我们遇到了同样的问题,但解决方案实际上非常简单.如果您无权访问原始数据源,只需创建一个新的"空白"数据源(例如ODBC连接).只要与数据源的连接有效(即它是某种有效的数据源,它就可以正常工作).运行"显示SQL"选项时,将报告指向此数据源.只要您不尝试实际运行报表(并且只显示SQL),操作就不会失败.无论如何,这适用于我们的情况.(Crystal Reports 2008)
(如果它有任何帮助,我可以提供更多细节.)
小智 6
通过选择Database> Set Datasource Location ...,应该可以找到有关现有数据源的一些细节.
除了允许您更改数据源位置之外,还应显示有关当前数据源的一些信息,例如正在使用的数据源类型,以及可能(取决于驱动程序的类型)数据库的名称.如果(因为你猜测)数据源是ODBC,它可能没那么有用,但如果它使用本机驱动程序,那么可能会有一些有用的东西.
没有密码,我不确定你能做多少.似乎"显示SQL查询"需要先报告运行,然后生成SQL计划.
这不是理想的,但你可以去Database> Visual Linking Expert至少查看表格以及它们是如何连接的,然后转到Record Selection Formula Editor并查看自定义WHERE语句是什么.