Я использую esxiting .sdf-файл в приложении для Windows-приложений. Когда я попытался открыть базу данных, я получаю ошибку, например: Доступ к файлу базы данных запрещен [1981, Filename = '\ Applications \ install \ OFC425F3-22CC-4A60-A815-40FE ...... \ install \ Countries. SDF, SeCreateFile]Доступ к файлу базы данных запрещен [1981]
Мой код:
private const string strConnectionString = "Data Source = 'appdata:/Countries.sdf'";
private void Button_Click_1(object sender, RoutedEventArgs e)
{
try
{
IList<Country> countryList = this.GetCountryList();
}
catch (Exception c)
{
MessageBox.Show(c.Message);
}
}
public IList<Country> GetCountryList()
{
// Fetching data from local database
IList<Country> countryList = null;
try
{
using (CountryDataContext countryDB = new CountryDataContext(strConnectionString))
{
IQueryable<Country> countryQuery = from _contry in countryDB._countries select _contry;
// MessageBox.Show(countryQuery.Count().ToString());
countryList = countryQuery.ToList();
}
}
catch (Exception c)
{
MessageBox.Show(c.Message);
}
return countryList;
}
Когда я попытался с этим
private const string strConnectionString = "Data Source = 'appdata:/Countries.sdf'; File Mode =read only;";
я получаю сообщение об ошибке, как: дБ открыт с доступом только для чтения. Не удается выполнить операции после инициализации, такие как восстановление индексов и обновление общедоступного отслеживания. Пожалуйста, повторно откройте соединение с чтением и записью.
Как открыть базу данных в режиме чтения-записи? есть ли разрешение, требуемое для открытия базы данных (база данных не защищена паролем)?