SQLCe локальная база данных в temp-path в строке подключения?
-
06-07-2019 - |
Вопрос
В моем приложении есть база данных SQL Ce, которая включена в каталог моего приложения. Во время отладки все в порядке, но при публикации и запуске с помощью setup.exe он получает «файл не найден» во временном каталоге приложение запускается из. Я хотел бы бежать из стандартного местоположения, но я не знаю, как это изменить.
Я использую эту строку:
SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;");
Когда я запускаю setup.exe, приложение никогда не запускается, заявляя, что во его временном каталоге файл db не найден. Когда я запускаю app.exe, он работает. Я не понимаю это ...: (
РЕДАКТИРОВАТЬ: я вижу, что в настройках проекта VS есть строка подключения и есть «Источник данных = | DataDirectory | \ Database.sdf»
Путь должен быть чем-то вроде локального каталога? Спасибо!
Решение
Создайте строку подключения динамически. Примерно так:
string connString = string.Format("Data Source={0}; Persist Security Info=False;",
Path.Combine(Application.StartupPath, "database.sdf"));