我的 .NET 2.0 站点上有大约 15 个 .RPT 文件,并且我最近更换了新的数据库服务器。
我成功更改了其中 14 个 .RPT 文件的数据源,但在其中一个 .RPT 文件上进行更改后,当我尝试保存更新的报告时,我收到“无法保存文档”。我可以更改子报表的数据源,然后保存它就可以了,但是当我尝试更改主报表的数据源时,我收到了该错误消息。
我肯定在整个过程中的不同时间进行“验证数据库”,但这似乎没有帮助。
有什么想法吗?
我使用以下步骤取得了成功。
您可以通过逐表更改数据源并在每次更改后尝试保存来追踪问题的根源。我发现我的问题出在子报表的表格中,并在该子报表中应用了上述步骤来解决问题。
我在添加一些公式字段时遇到了这个问题。我删除了字段并能够再次保存。
是的,像许多其他遇到此问题的人一样,除了从头开始重新创建报告之外,没有其他解决办法。
我很抱歉地报告这一点,但这是事实。非常喜欢 Crystal Reports 的错误消息,而且它们完全缺乏任何细节。
对我来说,解决方案非常简单:
在数据库菜单中,“设置数据源位置”选项,然后在数据库表的属性中,有一个名为“覆盖限定表名称”的选项(我认为是英文名称,因为我使用的是 Crystal Reports XI 版本葡萄牙语,但我在互联网上找到了英语中的等效术语)。
我刚刚在那里写下了表格的名称,并且能够再次保存,而不会出现“无法保存文档”错误,因此任何想要从头开始完全重新创建报告的人都应该首先尝试此操作。
我也有同样的问题。我使用了依赖关系检查器(可以在顶部的报告 -> 依赖关系检查器下找到)来解决所有无效的数据库引用。
然后我将所有子报告保存在主报告之外,然后将它们从主报告中删除。此时我终于能够保存主要报告了。
然后我将子报告一次一次地插入到我的主报告中。
我也遇到了同样的问题。
继续努力。成功更改新数据源后。
重复上面的 3 个步骤来映射另一个表。
这对我有用。
另一种简单的方法是通过丢失所做的更改来关闭未保存的报告,然后重新打开报告。然后您可以重复相同的更改。
这可能意味着您的报告中存在一些不准确的数据变量名称,或者变量名称已从数据源更改并且不再与报告中的内容匹配,或者它不再存在但已缓存。 解决此问题的最佳方法是重新创建报告。
下载此工具:R-Tag DataSource Updater for Crystal Reports。它将为您更新数据源。您可以在试用模式下使用它来生成 10 份报告。
删除所有数据(不包括文本字段)并保存文档。然后打开文档并从数据库端拖动字段并保存。它有效!!
在我的例子中,有一个子报告包含来自Word文档的粘贴图片,这与保存主报告相冲突。在水晶报表设计器中将图片转换为“图片(增强型图元文件)”后,主报表和子报表都可以成功保存。
就我而言,解决方案就像关闭并重新打开 Visual Studio 一样简单
尝试此工具:http://r-tag.com/Pages/CRDataSource.aspx它正在重建数据源,并且可能能够将字段重新附加到数据源。它有某种试用期,您可以运行 10 份报告来检查它的工作原理,因此您无需购买它。