【发布时间】:2013-03-03 11:15:35
【问题描述】:
在一个未触及报表模板的开发环境中,我们有 5 个报表(大约 20 个)突然失败,尝试预览这些报表时出现的错误是看似常见的“此字段名称未知" 来自 Crystal 的错误。
我想我会发布我们遇到的非显而易见的问题,以及我们发现的解决方案,因为这似乎是导致其他人可能被抓住的错误的众多方法之一。
我们一直在慢慢改进我们的数据库,并将旧版本的数据库代码对象移到“清理”模式组中,以便以后删除。
事实证明,Crystal 模板试图在 Cleanup 中使用旧版本的视图,而不是原始模式中的新视图,因为我们假设,Crystal 部分存在一些不知道模式的运行时名称匹配。
例如,我们有,比如说,
Cleanup.vGetLocations(它不再有效,例如,它引用了一个现已删除的表) 和 Stores.vGetLocations(适用于新表的新视图)
Crystal 在未能成功返回数据时似乎找到了旧视图并抛出了这个“字段名未知”的错误。
我们的解决方案很简单:我们还重命名了 Cleanup 架构中的旧对象,在名称中添加“OLD”,例如“Cleanup.vGetLocationsOLD”。然后,损坏的报告预览立即生效。
我们将 Crystal Reports 用于 .NET Framework 4.0 和 SQL Server 2008 R2。
【问题讨论】:
-
您的问题是什么?
-
欢迎斯科特。感谢分享,但您应该在 Stack Overflow 上提问,而不是发布技术文章。用户假设每个帖子都有一个问题。
标签: sql-server crystal-reports schema field