设置连接字符串

时间:2011-03-23 02:26:15

标签: asp.net sql-server

我一直使用visual studio和sql server express构建我的Web应用程序,现在我正在将其部署在服务器上。我需要更改连接字符串

这就是我所拥有的:

<add name="MySiteDBConnectionString" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MySiteDB.mdf;Integrated Security=True;User Instance=True"
    providerName="System.Data.SqlClient" />

这就是我需要用以下内容替换它:

<add name="LocalSqlServer"
     connectionString="Data Source=DBServerName;Integrated Security=false;Initial Catalog=DBName;User ID=DBLogin;Password=DBPassword"
     providerName="System.Data.SqlClient" />

问题是我不知道在哪里,甚至是否为数据库设置了密码。什么是集成安全性? 我正在使用linq-to-sql,我是否还需要在dbml文件中进行一些更改?

感谢您提出一些建议。

3 个答案:

答案 0 :(得分:2)

如果您不使用Intergrated Security,则需要在数据库服务器本身上设置用户和密码。如果您使用的是共享主机,则可能会为您提供。然后,您可以使用凭据替换DBLogin和DBPassword。

集成安全性使用您的Windows登录/密码详细信息对数据库进行身份验证。

如果您没有自己传递连接字符串,则使用linq to sql,您将需要使用设计器来更改与新数据库的连接(或者只是覆盖配置文件中的连接)。

答案 1 :(得分:0)

<集成安全性'模式以前称为“使用可信连接”:它使用当前登录的Windows用户的凭据(在这种情况下,很可能是Web应用程序运行的IUSR_xxx帐户,或有时是计算机帐户)作为其登录凭据。

答案 2 :(得分:0)

集成安全性意味着它将使用运行网站(应用程序池)的凭据来访问数据库。您需要设置SQL Server以允许此帐户访问以读取/写入表,以使其正常工作。如果您的网站设置为在匿名网络帐户下运行,那么情况就不太可能发生。如果您的网站在域帐户下运行,那么您可能需要使用集成安全性。

如果您没有使用集成安全性,那么您的数据库管理员将为您的应用程序设置SQL登录。这是您需要在连接字符串中使用的ID /密码。可能已设置多个帐户,管理员帐户,读/写帐户,只读帐户,执行SP帐户(这些描述分配给帐户的权限,不一定是他们的名称)。在这种情况下,选择合适的 - 除非您的DBA对安全性一无所知,否则几乎肯定不是管理员帐户。

仅供参考,如果您使用User ID=...;Password=...格式,则可以省略Integrated Security=false,因为它将采用SQL登录帐户和密码。