2011-08-04 18 views
4

Sql Server CE 4.0を使用してASP.Netアプリケーションを展開する際に問題があります。私は次のエラーを取得する:Sql Server CE 4.0をIIS 7に展開する際のトラブル

Access to the database file is not allowed.

私は私が私の接続文字列にローカル「はadd_data」フォルダを使っていることを確認しました:

<add name="DemoStudy" connectionString="metadata=res://*/Data.StudyContext.csdl|res://*/Data.StudyContext.ssdl|res://*/Data.StudyContext.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;Data Source=|DataDirectory|\CRS20SandboxCE.sdf&quot;" providerName="System.Data.EntityClient"/> 

私はまた、IUSRアカウントにフルアクセスを許可しようとしましたapp_dataディレクトリに移動しましたが、それは役に立たないようです。 Another SO thread suggests granting IUSR access to the bin directoryでも、それは役に立たなかった。

更新: これは間違いなく許可の問題です。私が "Everyone"ユーザグループにapp_dataフォルダへのアクセス権を与えると、すべて正常に動作します。

質問: IIS 7で完全なアクセスを許可する正しいユーザーは何ですか?それは明らかにIUSRではありません...

+0

私は同じ問題がありました。アプリケーションがネットワークサービスとして動作していて、上記のエラーが発生していました。フォルダセキュリティのアクセス許可を開くまでに誰もがそれを修正しました。 –

答えて

3

適切なapp_poolユーザーへの読み取り/書き込みアクセスを許可する必要があります。この場合、

IIS APPPOOL\DefaultAppPool 

ユーザグループは次のように指定する必要があります。

2

100%確かではありませんが、アクセス許可が必要なネットワークサービスアカウントかもしれません。

+1

ありがとうございます。私はIUSRとネットワークサービスを試しました。でも、もう一度試してみるよ。驚くべきことに、そこに情報の不足があります:asp.netプロジェクトにsql ceを展開します。これは非常に望ましいことです。いずれにしても、それはデベロッパーサーバーなので、私は休暇中に出発しています...この質問は、私が戻ってくるまでちょっと疲れるかもしれません...私は少し水中です... – Brett

+0

AppDataフォルダに対する読み取り/書き込み権限を持つ専用のユーザーアカウントです。これは、IIS 7で私にとってうまくいきます+ –

+0

@schefdev下記の私の答えを参照してください。あなたは、アプリケーションプールユーザーを変更する必要はありません。適切なIIS apppoolユーザーに権限を与えることができます。 – Brett

関連する問題