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

В моем приложении есть база данных 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»

Путь должен быть что-то вроде локального каталога? Спасибо!

1 Ответ

1 голос
/ 26 октября 2009

Создайте строку подключения динамически. Примерно так:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
...