2015-08-16 2 views
2

ОК, поэтому я совсем потерян. Это мое первое приложение, написанное для окон с локальной базой данных. Я написал приложение WPF в VS2012 с локальной базой данных, в которой все CRUD написаны как хранимые процедуры. Приложение работает, когда я запускаю его в VS. Но поскольку я создаю приложение и устанавливаю его (на любом компьютере), база данных недоступна. У меня такое чувство, что строка подключения вызывает эту проблему.Отпустите приложение WPF с локальной базой данных

Сначала я использовал строки соединения:

SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename='D:\LH\Personalitytest win\DB.mdf';Integrated Security=True;Database=DB") 

Но, как я получил «Ошибка: 26 - Ошибка Расположение сервера/экземпляра указано» Я предположил, что источником данных о связи не является правильным (хотя AttachDbFilename определенно неверно). Таким образом, я изменил строку подключения:

SqlConnection conn = new SqlConnection(@"Server=(localdb)\v11.0;AttachDbFilename=" + AppDomain.CurrentDomain.BaseDirectory + "DB.mdf;Database=DB;Trusted_Connection=Yes;"); 

И я получил ошибку, которая в основном сказал, что файл DB.mdf не найден.

Итак, я убедился, что файлы .mdf и .ldf скопированы в каталог установки/базу данных. Но после установки оба этих файла доступны только для чтения (даже если у них есть чтение/запись, когда я разрабатываю). Я попытался изменить права доступа к файлам (для обоих файлов), как приложение запускается в первый раз с помощью:

string path = AppDomain.CurrentDomain.BaseDirectory + @"Database\DB.mdf"; 
FileInfo file = new FileInfo(path); 
file.IsReadOnly = false; 

и

File.SetAttributes(path, FileAttributes.Normal); 

и

FileAttributes attributes = File.GetAttributes(path); 
attributes = attributes & ~FileAttributes.ReadOnly; 
File.SetAttributes(path, attributes); 

, но ни один из них методы работают.

Мой вопрос в основном, как должна быть реализована база данных в финальной версии?

ответ

1
  • Ваша база данных должна находиться в вашем окна директории пользователя

  • Другой способ заключается в установке SQLServer Express, на вашей машине. И соответствующим образом настройте строку подключения.

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