Файл app.config в C # для SQL Server 2005 в VS 2008 - PullRequest
3 голосов
/ 20 августа 2010

У меня есть проект C # .net с SQL Server 2008, написанный на Visual Studio 2008. Там я использовал следующую строку подключения для соединения с SQL Server:

string connectionString = 
    @"server=HASIBPC\SQLEXPRESS; Integrated Security=SSPI; 
      database=XPHotelManagementDatabase";

Но проблема в том, что каждый раз, когда я переносу свое приложение с одного компьютера на другой, мне нужно изменить server в connectionString. Я не хочу менять это вручную. Я хочу, чтобы это изменилось динамически. Как мне это сделать, используя app.config?

Ответы [ 4 ]

3 голосов
/ 20 августа 2010

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

Например:

string connectionString = @"server = LOCALHOST\SQLEXPRESS; Integrated Security = SSPI; database = XPHotelManagementDatabase";
2 голосов
/ 20 августа 2010

Вот образец;

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\PressbyranDB.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True

Обратите внимание, что атрибут Data Source=.\SQLEXPRESS; является именем вашего экземпляра SQL Server и сервера. Кроме того, вам не нужно восстанавливать базу данных с компьютера на компьютер, если вы используете атрибут AttachDbFilename=.

1 голос
/ 20 августа 2010

Вам не нужно использовать конфигурацию приложения для хранения строки подключения - вы можете просто передать динамически сгенерированную строку подключения в конструктор SqlConnection.

0 голосов
/ 20 августа 2010

Помимо LOCALHOST и "."Вы можете

  1. использовать "server = 127.0.0.1 \ SQLEXPRESS"

  2. Добавить псевдоним в диспетчер конфигурации SQL Server и использовать его в своемстрока

  3. добавьте 127.0.0.1 foo в ваш хост-файл и используйте его, например, "server = FOO \ SQLExpress"

  4. Управление подключением в конфигурации машины

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...