ASP.NET MVC 4 Web プロジェクト (SimpleMembershipProvider、EF CF) を、Azure Cloud Services への Web ロールを介して Windows Azure にプッシュします。私の Web プロジェクトでは、"App_Data" の下にある CE4 データベース (.sdf) データベースを使用しています。
公開プロセスが終了し、ブラウザで Web サイトを開くと、次のエラーが表示されます。
データベース ファイルへのアクセスは許可されていません。[ 1914,ファイル名 = E:\sitesroot\0\App_Data\xyzDb.sdf,SeCreateFile ]
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.Data.SqlServerCe.SqlCeException: データベース ファイルへのアクセスは許可されていません。[ 1914,ファイル名 = E:\sitesroot\0\App_Data\LivescoreDb.sdf,SeCreateFile ]
サイトを実行するには、リモート デスクトップ経由で azure の仮想システムに接続し、「ネットワーク サービス」アカウントに「E:\sitesroot\0\App_Data」フォルダーへの「Wite Access」を付与する必要があります。
私の Web.Config 接続文字列:
name="xyzConnection" connectionString="Data Source=|DataDirectory|\xyzDb.sdf" providerName="System.Data.SqlServerCe.4.0"
その後、私のウェブサイトが実行されます!
可能性を持って、私はその悪い行動を変えました。
たとえば、プロジェクト内のデータベース ファイルの位置を変更しようとしましたが、接続文字列への相対パスを配置する方法が見つかりません。
どうも