数据库应用程序连接字符串

时间:2012-12-21 07:35:12

标签: c# sql-server

我有一个Windows窗体应用程序来读取,创建和更新成员,应用程序已准备好,我想在三个或四个PC上部署/安装它。

在开发过程中,我使用了这样的连接字符串:

using (SqlConnection connection = 
    new SqlConnection(
        "Data Source=MY-PC\\JGSQLSERVER;Initial Catalog=TESTSUB;Integrated Security=True"))

有一个组织网站运行的域,并且有SQL服务器服务器。我在SQL Web服务器中创建了相同的表结构。

我的问题是当我在任何电脑上安装小型Windows应用程序时,是否需要更改连接地址以便应用程序可以连接?

例如,如上所述:

using (SqlConnection connection = 
    new SqlConnection("Data Source=web servers address\\ webSQLSERVER;Initial Catalog=TESTSUB;Integrated Security=True"))

3 个答案:

答案 0 :(得分:1)

正是为了这个,最好将连接字符串放在某种配置文件中,或者在app.config中,或者在其他类型的配置中加密。如果执行此操作,则在将应用程序部署到不同环境或SQL服务器地址更改时,无需重新构建应用程序:

配置:

<configuration>
    <connectionStrings>
      <add name="MyConnectionString" connectionString="your_connection_string" providerName="System.Data.EntityClient" />
    </connectionStrings>
</configuration>

C#:

using (SqlConnection connection = 
    new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"])){
    //do stuff
}

答案 1 :(得分:0)

简短回答:是的。
否则你的应用程序不知道在哪里可以找到它的数据(基础),并且仍会在本地系统上查找它(无法找到它)。

答案 2 :(得分:0)

是的,您需要将应用指向正确的服务器。除非SQL Server服务与客户端应用程序在同一台计算机上运行,​​或者在同一域中运行,否则您很可能希望使用SQL身份验证,而不是Windows身份验证。您需要在SQL Server中创建一个用户并将其添加到您的数据库,同时授予它您的应用程序所需的任何权限,我想用户通常是一个DBO。然后使用不同的连接字符串:

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

有关不同数据库的各种连接字符串的示例,请参阅http://www.connectionstrings.com/。我希望它有所帮助。