レポート テンプレートに手を加えていない開発環境で、5 件のレポート (約 20 件中) で突然エラーが発生し、これらのレポートをプレビューしようとすると、よくあるように思われる「このフィールド名は不明です」というエラーが発生しました。結晶。
私たちが抱えていた明らかではない問題と、発見した解決策を投稿しようと思いました.
私たちはデータベースをゆっくりと改善しており、古いバージョンのデータベース コード オブジェクトを後で削除するために「クリーンアップ」スキーマ グループに移動していました。
Crystal テンプレートは、元のスキーマの新しいビューではなく、クリーンアップの古いバージョンのビューを使用しようとしたことが判明しました。これは、Crystal 側で一致するスキーマを認識しないランタイム名が原因であると考えられます。
たとえば、次のように言いました。
Cleanup.vGetLocations (たとえば、削除されたテーブルを参照するため、機能しなくなりました) および Stores.vGetLocations (新しいテーブルで機能する新しいビュー)
Crystal は古いビューを見つけて、データを正常に返せなかったときにこの「フィールド名が不明です」というエラーをスローしたようです。
私たちの解決策は簡単でした。Cleanup スキーマ内の古いオブジェクトの名前も変更し、"OLD" を名前に追加しました ("Cleanup.vGetLocationsOLD" など)。壊れたレポートのプレビューはすぐに機能しました。
.NET Framework 4.0 および SQL Server 2008 R2 用の Crystal Reports を使用しています。