C# 连接到多个SQL Server
我有几个数据库位于本地网络的许多SQL Server(2008)中。所有这些数据库都具有相同的结构和表,它们之间唯一的区别是数据。 我需要一个软件,当用户输入用户名和密码的特定服务器的地址,该软件只是有权登录到该服务器,并从该服务器检索数据 如果我像这样使用连接字符串:C# 连接到多个SQL Server,c#,sql-server,linq,database-connection,C#,Sql Server,Linq,Database Connection,我有几个数据库位于本地网络的许多SQL Server(2008)中。所有这些数据库都具有相同的结构和表,它们之间唯一的区别是数据。 我需要一个软件,当用户输入用户名和密码的特定服务器的地址,该软件只是有权登录到该服务器,并从该服务器检索数据 如果我像这样使用连接字符串: string server_address = "..."; string database = "..."; string username = "..."; string password = "...";
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文件中更改这些内容
提前谢谢。我想你可以这样做:
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();
//Northwnd继承自System.Data.Linq.DataContext
Northwnd nw = new Northwnd(@"northwnd.mdf");
//或者,如果您不使用SQL Server Express
Northwnd nw = new Northwnd("Database=Northwind;Server=server_name;Integrated Security=SSPI");
(来自MSDN的示例)。您能描述症状而不是人为的回答吗?我敢打赌,如果我们能更好地理解问题领域,这可以通过另一种方式更有效地解决。stackoverflow中有一篇文章与此相关: