2008-10-25 4 views
2

Я создал проект установки для приложения, и я вижу, что более поздние модификации файла конфигурации (Application.exe.config) не влияют на выполнение приложения.Изменение строки подключения после развертывания

Я разрабатываю приложение с файлом базы данных, и я хочу, чтобы пользователи могли перемещать файл базы данных и изменять строки подключения.

Кто-нибудь знает, что лучше всего подходит для развертывания приложения с файлом базы данных?

ответ

2

Он должен работать при условии, что вы используете ту же самую строку строки подключения в файле настроек Setup.settings для доступа к базе данных DB и в конфигурационном файле вашего приложения.

пример, который хорошо работает для меня:

<connectionStrings> 
    <add name="YourApp.Properties.Settings.DatabaseConnectionString" 
    connectionString="Data Source=localhost;Initial Catalog=xxx;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 
</connectionStrings> 

При входе соответственно в обоих местах (т.е. Settings.settings в DLL файлы и App.config файлы ЕХЕ в.), Это позволяет мне изменить базу данных в приложении YourApp.exe.config перед запуском приложения.

(я предполагаю, что вы уже знаете, что вам нужно изменить конфигурационный файл приложения, так как DLL не поддерживают механизм app.config непосредственно.)

0

Вы не забыли удалить настройки по умолчанию? Они компилируются и извлекаются из dll, а не из файла конфигурации.

1

Вы проверяли с использованием UDL file? Если вы сохраните строку подключения в файле udl, пользователь может изменить соединение через интерфейс, просто дважды щелкнув этот файл. Вы можете установить строку подключения в приложении, чтобы указать на файл udl. Вы также можете запустить интерфейс udl программно, если хотите. Единственным недостатком этого является то, что пользователь сохраняет свой пароль в файл, он сохраняется как обычный текст. Но это не проблема, если вы используете проверку подлинности Windows.