1

背景情報

Webホスティングサーバーで1.5GBのデータベースを購入しました。それは私にデータベースへのアクセスを取得する許可を与えただけです。

問題

データベース接続エラー

あなたは漢字を理解していないかもしれませんが、あなたは最後の文の平均を知っています、そしてそれはこのエラーの要点です。

理由

これは、EFがWebサーバーからデータベース情報を取得しようとしたときに発生しました。ご覧のとおり、マスターデータベースとINFORMATION_SCHEMA.TABLESビューからテーブルの情報を取得しようとしています。私はそのデータベースへのアクセスを許可されていないため、これがこの問題の原因です。

ですから、この問題を明確に説明したいと思います。

回避策

私はそれを解決する方法を見つけました。まったく同じデータベース構造(同じテーブル、同じ列など)を使用して独自のローカルデータベースにEFを作成してから、connectionStringを変更してWebサーバーを指すようにします。

問題

データベースに変更があり、EF DataContext構造を更新する場合は常に、マスターデータベースとそのビューに移動して情報を取得するため、connectionStringを前後に変更する必要があります。些細なことになりました。

質問

それを行う他の方法はありますか?LINQ2SQLはデータベースから情報を自動的に取得しないため、この問題は発生しないことがわかりました。代わりに、ユーザーは使用するテーブルをドラッグする必要があります。

素晴らしい回答を楽しみにしています。

乾杯

4

1 に答える 1

1

常にローカル データベースに対して開発し、運用サーバーにデプロイするときはデータベースへの接続文字列のみを変更する必要があります。それを行うより良い方法はありません。

EF は、最初にデータベースを使用するときに master データベースから読み取るアクセス許可に依存しており、現在それを回避する方法はありません。昨日、この問題に関する Data UserVoice に関する提案も作成されました。

于 2012-08-30T08:15:12.603 に答える