2015-10-07 2 views
0

Я создал приложение C#, которое работает с базой данных Microsoft Access, и после того, как я развернул проект и установил его на C диск, файл базы данных становится только для чтения, и если я устанавливаю его на D или другой диск работает нормально.Как опубликовать приложение C# с базой данных доступа

Пожалуйста, если кто-нибудь может помочь, то это оценено (SIS - файл базы данных доступа), проблема в том, что я хочу заставить его работать в C диске.

this is my setup SIS is the access file это моя установка SIS является файлом

доступа И это строка соединения им с помощью

String cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\SIS_DB.accdb;"; 
+0

Вы можете попробовать Поставить базу данных в папку данных приложения, чтобы изменить ее строку подключения и опубликовать. – Code4U

ответ

0

Ваша проблема заключается в файле базы данных в% ProgramFiles%. Это должно быть в% AppData%

Есть два способа решения

1.modify проекта установки. , когда вы выполните настройку, вы должны указать путь к файлу f.mdf, убедитесь, что файл будет установлен в папку AppData.

2.copy f.mdf в папку AppData по приложению. каждый раз, когда вы запускаете вас приложение, первым делом, чтобы скопировать файл в папку AppData, вы можете добавить код следовать в основном (или инициализации) метод и попробуйте еще раз:

string [email protected]"C:\PROGRAM FILES\DEFAULT COMPANY NAME\SETUPER2"; 
string appDataPath= Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 
string fileName="F.MDF"; 
System.IO.File.Copy(sourcePath+"\\"+fileName, appDataPath+"\\"+fileName ,false); 

* 1 лучше ,

+0

спасибо sooooooooo muchhhhh первый метод исправить проблему с оценкой – user3856440

0

Вы старая школа ... С диск в эти дни запрещено район.

Используйте либо Program Data папку для применения конкретных данных - или, для пользовательских данных, то % AppData% папку, в которой вы создаете папку для приложения и использовать эту папку для данных пользователя.

+0

im confused kinda вы подразумеваете изменение строки подключения к папке с данными программы спасибо за ответ – user3856440

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