我们在未触及报告模板的开发环境中突然失败了5个报告(大约20个),尝试预览这些报告时的错误似乎很常见“此字段名称未知“来自Crystal的错误。
我以为我会发布我们遇到的非显而易见的问题,以及我们发现的解决方案,因为这似乎是获得此错误的众多方法之一,而其他人可能会被其捕获。
我们一直在慢慢改进我们的数据库,并将旧版本的数据库代码对象移动到“清理”模式组中,以便以后删除。
事实证明,Crystal模板试图在Cleanup中使用旧版本的视图,而不是原始模式中的新版本,因为我们假设在Crystal上有一些模式不知道的运行时名称匹配。
例如,我们有,
Cleanup.vGetLocations(因为它不再有效,例如,指的是现在删除的表) 和 Stores.vGetLocations(适用于新表的新视图)
当它无法成功返回数据时,Crystal似乎找到旧视图并抛出此“字段名称未知”错误。
我们的解决方案很简单:我们还在清理模式中重命名了旧对象,在名称中添加了“OLD”,例如“Cleanup.vGetLocationsOLD”。破碎的报告预览然后立即起作用。
我们正在使用Crystal Reports for .NET Framework 4.0和SQL Server 2008 R2。
答案 0 :(得分:0)
Crystal Reports表示已从数据集中删除了某个字段,或2)已重命名。