Crystal Reports XIr2 を使用してレポートを作成し、アプリケーションのデータベースからの情報を報告しました。これはクロス集計レポートであり、ストアド プロシージャの実行から返されたさまざまなデータをレポートします。
このレポートが実行されるアプリケーションについて簡単に説明します。これは VB6 で記述されたアプリケーションです。アプリケーションをロードすると、SQL サーバーで SQL ログインとして構成されているユーザー名とパスワードの入力を求められます。 SQL サーバー セキュリティに対して認証しているアプリケーション。
このレポートは Crystal Reports でまったく問題なく動作していますが、顧客サイトのアプリケーション内からこのレポートを起動すると、このレポートで奇妙な動作が発生します。「sa」レベルのデータベース アクセス権を持つすべてのユーザーに対して正常に機能しますが、他のユーザーとして実行すると次のエラーが発生します。
アプリケーション内で上記のエラーが発生するユーザーとしてデータベース サーバーに直接接続すると、ストアド プロシージャを手動で実行してもエラーは発生しません。
アプリケーション内でエラーが発生しているユーザーに SQL サーバーの「sa」権限を与えると、エラーは発生しなくなります。
問題のストアド プロシージャに関連するすべての実行権限を確認しましたが、前述のとおり、SQL Server に手動で接続してプロシージャを実行すると、上記のリンクのエラーは表示されません。
このエラーが発生したユーザーがこのレポートの前に別のレポートを実行した場合は機能しますが、このエラーが発生した後にレポートを実行すると、すべてのレポートが機能しなくなり、アプリケーションの再起動が必要になります。
アイデアはありますか?