2016-06-28 5 views
1

C#でMicrosoft SQL Server Compact Edition 3.5を使用してデスクトップアプリケーションを開発しました。SQL Server Compact Edition 3.5データベースacessが拒否されました

私はソリューションフォルダ(bin\releaseまたはdebug)から.exeファイルを実行したときにそれが正常に動作しますが、私はそのセットアップを作成することによって、それを展開しようとしたとき、それは未処理の例外を示しています

あなたはアクセス権限がありませんCustomersDB.sdfファイル。

注意正しいパスエラーはありません。

string lokasifile = Environment.CurrentDirectory + "\\CustomersDB.sdf"; 
string stringkoneksi = "Data Source = \"" + lokasifile + "\""; 
SqlCeConnection koneksi = new SqlCeConnection(stringkoneksi); 
koneksi.Open(); 
+1

私はアクセス権のエラーを見ての通り、私はすぐに管理者として、それを実行しているか、他の場所にファイルを移動すると考えます。それがうまくいくかどうか分かりませんが、結局試しても悪いことはありません...:D –

+0

アプリケーションプール内のWebサイトを実行しているアカウントにsdfファイルの権限がありません。そのファイルに権利を与えます。代わりに、そのファイルはあなたが思うところには存在しません。いずれにせよ、App_Dataと| DataDirectory |を使用する必要があります。もしあなたがそうしていれば、それはいつも期待通りに動くでしょう、心配はありません。 – Will

+0

SQL CEは同時に複数の同時接続を許可しません。 – Yogesh

答えて

0
SecurityException 

これは、適切な権限を持っていない、発信者以外の何ものでもありません。 Environment.CurrentDirectory Property

try 
{ 
    //Call Path here you will get to what the exactly error is 
} 
catch (Exception ex) 
{ 
    if (ex is DirectoryNotFoundException|| ex is IOException|| ex is SecurityException) 
    { 
      //Your handling here 
    } 
    else 
    { 
      throw; 
    } 
} 
+0

ディレクトリが存在し、ファイルが存在し、パスが正しいことは、アクセスのみが拒否されていることです。 –

+0

プロパティでそのファイルに必要なアクセス許可を与えます。 –

+0

「アクセス許可を設定する方法」の問題です。 –

関連する問題