2012-01-05 12 views
6

私は現在、Visual Studio 2010でWebアプリケーションプロジェクトを構築しています。最近までメンバーシップ、ユーザー、ロールなどのスキャフォールドコードを使用する必要はありませんでしたASPNETDB.mdfデータベースファイルに格納されます。私はVisual Studio Web Server、IIS Express(Visual Studioから)、そしてIIS7.5でも問題なくプロジェクトを実行しています。.mdfファイルの自動ネームデータベースを添付しようとしましたが失敗しました

しかし、私は今、ユーザーアカウントを反映させる必要があり、私は、ログインして足場コードを使用する場合、私が述べサーバーエラーを取得:

ファイルCの自動という名前のデータベースをアタッチしようとする試みを: ¥Users¥User¥Documents¥COMP6059¥PomumV2¥PomumV2¥App_Data¥aspnetdb.mdf が失敗しました。同じ名前のデータベースが存在するか、 指定されたファイルを開くことができないか、UNC共有上にあります。

このエラーは、IIS ExpressまたはIIS7.5 Webサーバーを使用している場合にのみ発生します。 Visual Studio Web Serverは正常に動作します。

私はhttp://support.microsoft.com/?kbid=2002980からの指示に従わなかった。以下は

データベースのための私の接続文字列です:

<add name="ApplicationServices" 
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
    providerName="System.Data.SqlClient" /> 

エラーは、私がいることをどこかで読みました(自動生成されます)AccountController.csファイル

... if (Membership.ValidateUser(model.UserName, model.Password)) { ... 

の次の行で発生私は、データベースをSQL Server Management Studioに移動し、それを介してVisual Studioをアタッチする必要があるかもしれませんが、データベースにログインできませんでした。

IIS7.5でこれを実行できるようにします。誰もこの問題を解決する方法に関するアイデアはありますか?

答えて

3

これは、IISを実行しているアカウントでそのファイルにアクセスできないという問題が発生する可能性があります。

ネットワークサービスアカウントのそのフォルダに対する完全なアクセス許可を割り当てます。

一時的に「みんな」を試して問題が解決しているかどうか確認し、そこから後方に作業することができます。

また、(プロセスエクスプローラ/ Sysinternalsのは、ことを示して助けることができる)のではない他のWebサーバーが使用して、あなたのフォルダが読み取り専用ではありません

+0

グループEveryoneとNETWORK SERVICEはApp_Dataディレクトリを完全に制御できますが、同じことが起こっています。他のどのWebサーバーでも使用されていないことは間違いありません。プロセスエクスプローラを持っていますが、探しているものがわかりません。 – Mabbage

+0

プロセスエクスプローラでdb名を検索し、使用中の場合はプロセスがオープンしていることを示します。 Visual Studioで開いている可能性があります.VS Webサーバーはまだ保持されている可能性があります。 –

+0

私はドキュメント全体のフォルダを介してNETWORK SERVICEに「フルコントロール」を与えました。これは上記の問題を解決したようです。 「NT AUTHORITY \ NETWORK SERVERのログインに失敗しました」という別のエラーが表示されるようになりましたが、十分な別の問題のように別の質問が表示されます。 – Mabbage

1

チェックを保証します。私はlocalDBが行った同様の問題を抱えていた私

0

のために働くことは、それが将来的に他の人を助けるかもしれないと私の解決策にも価値のあるタグかかわらOPは問題を解決した表示されますが、私.....

ライブサーバーでは明白な「読み取り専用」モードになっていましたが、ローカルの開発用ラップトップで正常に動作しました。

このような数多くの投稿を読んで、私が見つけたすべてを試しても、それはまだ機能しませんでした。

私はライブサーバー上でIISに入り、3つのデータベース接続が識別されていることに気付きました。 2は継承されました - fromとthirdがローカルで宣言された場所はわかりません(web.configサイトなど)。

私は2つの継承された接続を削除しました。今それは正常に動作します。

0

Visual Studio 2013フォルダからプロジェクトのデータベース.mdfファイルを開こうとしましたが、VS2013コミュニティからVS2013への移行後にこの問題が発生しました。その後、データベースファイルを含むプロジェクトを新しく作成したVisual Studio 2015フォルダにコピーして問題を解決しました。

関連する問題