SQLCe локальная база данных в temp-path в строке подключения?

StackOverflow https://stackoverflow.com/questions/1623606

Вопрос

В моем приложении есть база данных 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"));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top