我在本地网络的许多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文件中更改这些程序?
提前致谢。
答案 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的例子)。