Crystal Reports XIr2を使用してレポートを作成し、アプリケーションのデータベースの情報を報告しました。これは、クロス・タブ・レポートであり、ストアド・プロシージャの実行によって返されるさまざまなデータをレポートします。テーブル[tablename]が見つかりませんでした-2147189180
このレポートが実行されるアプリケーションについての簡単な説明 - アプリケーションをロードするとVB6で書かれたアプリケーションで、ユーザー名とパスワードの入力を求めるプロンプトが表示されます.SQLサーバーにはSQLログインとして設定されています。アプリケーションにログインすると、SQLサーバーのセキュリティに対して認証されます。
Crystal Reportsでレポートが正常に機能していますが、顧客のサイトでアプリケーション内からこのレポートを起動すると、このレポートに何らかの不具合が発生しています。 'sa'レベルのデータベースアクセスを持つすべてのユーザーには問題なく動作しますが、他のユーザーとして実行すると次のエラーが発生します。 Iがエラーなしに動作し、手動でストアドプロシージャを実行して、アプリケーション内で上記のエラーを取得するユーザとして直接データベースサーバに接続する場合
。
SQLサーバー上のアプリケーション 'sa'の権限内でエラーが発生したユーザーには、エラーが発生しなくなります。
問題のストアドプロシージャに関するすべての関連する実行権限をチェックしましたが、SQL Serverに手動で接続してプロシージャを実行すると前述のように、上記のエラーは表示されません。
このエラーが発生したユーザーは、このレポートより前に別のレポートを実行すると動作しますが、このエラーが発生した後でレポートを実行すると、すべてのレポートが機能しなくなり、
どのようなアイデアをお願いしますか?
レポートを開いてくださいフィールドエクスプローラで影響を受けるテーブルを検索します。テーブルを右クリックし、 "Set Datasource Location ..."を選択します。影響を受けるテーブルの下のツリーを展開し、そのプロパティを表示します。 オーナーは誰ですか? – Dorian
@X所有者はdboです –
ストアドプロシージャはデータベースに書き込みを行いますか?あるいは 'Select'文を実行しているだけですか?あなたはSQL Serverへのアクセス権があると仮定します。データベースのプロパティ>アクセス許可で、プロシージャを実行しようとしているユーザーまたはロールに権限がありますか? – Dorian