У меня есть несколько баз данных, расположенных во многих SQL-серверах (2008) в локальной сети. Все эти базы данных имеют одинаковую структуру и таблицы, единственная разница между ними - это данные. Мне нужно программное обеспечение, которое, когда пользователи вводят адрес определенного сервера с именем пользователя и паролем, программное обеспечение имеет право войти на этот сервер и получать данные с этого сервера.Подключение к нескольким SQL-серверам
Если я использую строки соединения, как это:
string server_address = "...";
string database = "...";
string username = "...";
string password = "...";
string connectString = "Data Source=" + server_address + ";Initial Catalog= " + database + ";uid= " + username + ";pwd= " + password + "\"";
SqlConnection conn = new SqlConnection(connectString);
conn.Open();
....
conn.Close();
я могу управлять моей проблемы с этим типом связи.
Однако я использую LINQ для извлечения данных, а строка подключения хранится в файле «app.config». Итак, как я могу изменить эту строку в этом файле? Например, моя текущая строка тестовое соединение app.config является:
<connectionStrings>
<add name="MyProgram.Properties.Settings.TestDatabaseConnectionString"
connectionString="Data Source=172.16.1.73;Initial Catalog=TestDatabase;uid=sa;pwd=1"
providerName="System.Data.SqlClient" />
</connectionStrings>
я запускаю это в моем компьютере только для тестирования, но когда эта программа запускается на другом компьютере, пользователи должны ввести адрес сервера «172,16. 1.xxx ", имя пользователя и пароль. Как я могу изменить программу в файле app.config?
Заранее спасибо.
Можете ли вы описать симптом, а не ваш надуманный ответ? Я бы поспорил, что это можно было бы решить более эффективно, если бы мы лучше поняли проблему. –
Есть сообщение в stackoverflow, связанном с этим: http://stackoverflow.com/questions/15759631/using-entity-framework-with-multiple-ms-sqlserver-databases – KrishnaDhungana