在多数据库环境中使用Crystal Reports。在过去的报告中,一直都是不一致的(去图)。试图在提供新的可交付成果的同时清理这些混乱。客户不理解并始终以最短的方式推动,并且不认为需要清理/调整现有报告以使其适用于所有系统。
使用针对每个报告的专门编写的视图构建了许多报告。当克隆基于视图的水晶报告然后尝试通过水晶设计师在与建立报告的原始数据库不同的数据库上运行报告时,就会出现这种情况。 该报告保留在原始视图对象上。运行但没有输出。起初我认为基础观点存在补助问题。
解决方案是更新“设置数据源位置”面板中的视图引用。
想知道人们在水晶报告中使用观点的意见。如果他们之前遇到过这种情况。
显然,视图有其用途,但是当sql可以直接插入到报表中时,通过为报表创建特定视图,我没有看到在报表和sql语句之间添加另一层的意义。当您想要进行更复杂的计算和输出时,只有数据库程序对我有意义。
注释
伪截图: 设置数据源位置(面板)
Current Datasource:
Report
server
properties
initial catalog: other database
view
properties
catalog: original database
答案 0 :(得分:1)
根据我们使用多个服务器/数据库(甚至是具有N-N关系的表)的视图的经验是首选方式。如果数据库布局或服务器配置发生任何变化,您喜欢什么 - 改变一个视图或多个相关报告?
当然,我们的报告可以在单个数据库上运行,这与事实有关。我们的应用程序总是将所有包含的数据源位置(表,视图)替换为当前数据库,这样可以轻松报告不同的数据库(包括MSAccess和MSSQL)。除非使用视图,否则此类方法不包括跨数据库报告。我们的报告也使用OLEDB接口,没有链接到在应用程序中打开的数据源连接。
设计师有时会出现问题,直接用报告文件打开;设置数据源位置通常会更正它们(您可能还需要为特定视图设置位置)。如果通过我们的应用程序打开,它可以保存带有更正数据库信息的报告副本,设计师可以完美无缺。
基础视图有时会出现问题,无法轻松转移到不同的数据库布局。幸运的是,可以在不改变输出布局的情况下更改视图定义:)
关于客户 - 他们当然不想改变他们的工作报告。您可以确定在使用更普遍的报告替换报告时会引入一些错误 - 谁想要?没有人。