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

2

У меня есть SQL Ce db в моем приложении, которое включено в мой каталог приложения. Отлаживая его ОК, но когда он опубликован и запускается с помощью setup.exe, он извлекает "файл не найден" во временном каталоге, из которого запускается приложение. Я хотел бы запускать из стандартного местоположения, но я не знаю, как его изменить.

Я использую эту строку:

SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;");

Когда я запускаю setup.exe, приложение никогда не запускается, заявив, что во временном каталоге файл db не найден. Когда я запускаю app.exe, он работает. Я этого не понимаю...: (

EDIT: я вижу, что в настройках VS-проекта есть строка подключения и есть "Data Source = | DataDirectory |\Database.sdf"

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

Теги:
connection-string
sql-server-ce

1 ответ

1
Лучший ответ

Стройте свою строку соединения динамически. Что-то вроде этого:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
Сообщество Overcoder
Наверх
Меню