2016-06-28 11 views
1

Я разработал настольное приложение на C# с Microsoft SQL Server Compact Edition 3.5.SQL Server Compact edition 3.5 запрещена база данных

Он отлично работает, когда я запускаю .exe файл из папки решения (bin\release или debug), но когда я попытался развернуть его, создав его установки он показывает необработанное исключение:

У вас нет разрешения на доступ Файл CustomersDB.sdf.

Обратите внимание, что ошибки пути не верны.

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

Как я вижу ошибку разрешения, я сразу вспоминаю запустить его в качестве администратора или переместить файл в другое место. Не уверен, что это сработает, но нет ничего плохого в попытке ...: D –

+0

Учетная запись, запускающая веб-сайт в пуле приложений, не имеет прав на файл 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

, что является проблемой «как установить разрешение» –

 Смежные вопросы

  • Нет связанных вопросов^_^