Как опубликовать приложение C# с базой данных доступа
Я создал приложение C#, которое работает с Microsoft Access
базы данных и после того, как я развернул проект и установил его на C
диск базы данных файл становится только для чтения, и, если я установлю его на D
или другой диск работает нормально.
Пожалуйста, если кто-то может помочь, это ценится (SIS - это файл базы данных доступа), проблема в том, что я хочу, чтобы он работал в C
диск тоже.
это моя настройка SIS это файл доступа
И это строка подключения, которую я использую
String cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\SIS_DB.accdb;";
2 ответа
Ваша проблема в том, что файл вашей базы данных находится в%ProgramFiles%. Должно быть в%AppData%
Есть два способа решения
1. Изменить проект установки. когда вы выполняете настройку, вы должны указать путь к f.mdf, убедитесь, что файл будет установлен в папку AppData.
2. скопируйте f.mdf в папку AppData по приложению. каждый раз, когда вы запускаете приложение, первым делом скопируйте файл в папку AppData, вы можете добавить следующий код в метод Main(или init) и повторить попытку:
string sourcePath=@"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 лучше.
Вы старая школа... Вождение в эти дни запрещено.
Используйте либо папку Program Data для данных конкретного приложения, либо, что касается пользовательских данных, папку %AppData%, где вы создаете папку для своего приложения и используете эту папку для данных пользователя.