设置连接字符串

问题描述:

我一直在用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文件中进行一些更改?

感谢您的一些建议。

+2

这不值得回复,但http://www.connectionstrings.com/sql-server-2008是连接字符串信息的好资源! – *er 2011-03-23 02:30:58

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

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

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

+0

好吧,我通过了这个障碍。我也使用ASPNETDB.mdf文件,并将其附加到网站上。在我的本地机器上,没有连接字符串。在服务器上,我收到“无法找到存储过程'dbo.aspnet_CheckSchemaVersion'”。我猜我需要用创建一个新的标签。我为这个名字做了什么? – frenchie 2011-03-23 02:49:10

+0

@frenchie - 'name'参数实际上应该和原来的相同。你的程序用来查找要使用哪个连接字符串的关键字。移动到生产站点时,只有连接字符串的值应该更改。 – tvanfosson 2011-03-23 02:59:13

+0

但我没有为第二个数据库文件指定一个名称属性。 – frenchie 2011-03-23 02:59:56

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

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

如果您未使用集成安全性,则您的数据库管理员将为您的应用程序设置一个SQL登录名。这是您需要在连接字符串中使用的ID /密码。可能已经建立了多个帐户,一个管理帐户,一个读/写帐户,一个只读帐户,执行SP帐户(这些帐户描述分配给帐户的权限,不一定是他们的名字)。在这种情况下,选择适当的 - 这几乎肯定不是管理员帐户,除非您的DBA对安全性一无所知。如果使用User ID=...;Password=...格式,则可以省略Integrated Security=false,因为它将采用SQL登录帐户和密码。如果您使用User ID=...;Password=...格式,则可以省略Integrated Security=false,因为它将采用SQL登录帐户和密码。

+0

好的,这已清理完毕。该网站还运行一个名为ASPNETDB.mdf的文件。在web.config文件中没有此数据库的连接字符串,并且出现错误无法找到存储过程'dbo.aspnet_CheckSchemaVersion。主机提供商正在给出一个连接字符串,但我想知道我需要为标签添加什么内容。谢谢。 – frenchie 2011-03-23 02:52:41