部署到托管服务时的SQL连接字符串

时间:2011-08-31 18:01:31

标签: asp.net sql-server entity-framework-4 web-config

我使用visual studio web developer 2010 express开发了以下连接字符串:

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
<add name="DatabaseConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\BegASPNET\Cheeztest\App_Data\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
<add name="DatabaseEntities" connectionString="metadata=res://*/App_Code.CheeztestModel.csdl|res://*/App_Code.CheeztestModel.ssdl|res://*/App_Code.CheeztestModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

我需要更改/删除/保留以便使用以下参数连接到GoDaddy帐户:

主机名:someresource.com 数据库名称:databasedb 用户名:databasedb 密码:密码

我在一个只允许单个MS SQL数据库的GoDaddy帐户上托管。在开发中,我有两个独立的数据库;一个是ASPNETDB.MDF,另一个是Database.MDF。我是否还需要在托管环境中拥有两个独立的数据库?

我忘了提到是的,GoDaddy确实提供了一个配置字符串。我已经尝试了两天让它工作没有成功,这就是我在这里发帖的原因。

GoDaddy提供的字符串是:

Data Source=somesource.com; Initial Catalog=databasedb;User ID=databsedb; Password=password;

此外,如有必要,我可以升级我的GoDaddy帐户并获取另一个数据库。如果能让我的生活更轻松,我愿意这样做。

3 个答案:

答案 0 :(得分:1)

Go Daddy为您提供了一个连接字符串,您可以将其复制并粘贴到您设置的特定于您的数据库的web.config中。你只需要确保你保持name属性相同,你就不应该有任何问题(只要数据库模式也一样)。

如果您在代码中访问了两个数据库,则需要将它们组合在一起或在托管环境中使用两个。为什么两个在第一位?是一个用于asp.Net用户和角色,另一个用于站点数据?如果是这种情况,我会将它们组合在一起并更改我的站点代码以使用一个连接字符串。

答案 1 :(得分:1)

对于只有一个带有godaddy的sql数据库的限制,一个选项是合并你的两个数据库。

关于连接字符串如果您正在使用visual studio 2010,那么有一项新功能允许基于构建设置在web.config中进行转换,因此您可以拥有将转换web.config的开发和生产设置。自动。您可以在此处找到有关此内容的更多信息,http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx

如果vs 2010不是一个选项,那么一个解决方案就是在web.config中有一个应用程序密钥,比如enviroment =“development”,然后在连接到数据库的代码中选择适当的连接字符串应用程序设置。

答案 2 :(得分:0)

无需从Go Daddy升级计划,甚至不需要购买额外的数据库。您可以这样做,将两个数据库合并到单个数据库中。第二个数据库中的所有表都将位于第一个数据库下。然后,您只能为同一服务器或不同服务器上托管的多个应用程序使用一个连接字符串。