连接到多个SQL Server

时间:2013-09-26 03:36:18

标签: c# sql-server linq database-connection

我在本地网络的许多SQL Server(2008)中有几个数据库。所有这些数据库都具有相同的结构和表,它们之间唯一的区别就是数据。 我需要一个软件,当用户使用用户名和密码输入特定服务器的地址时,软件才有权登录该服务器并从该服务器检索数据。

如果我像这样使用连接字符串:

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文件中更改这些程序?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我想你可以这样做:

// 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的例子)。