【问题标题】:SQL Connection Strings when deploying to a hosting service部署到托管服务时的 SQL 连接字符串
【发布时间】:2013-09-27 12:04:46
【问题描述】:

我正在使用 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 帐户并获取另一个数据库。如果它能让我的生活更轻松,我愿意这样做。

【问题讨论】:

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


    【解决方案1】:

    Go Daddy 为您提供了一个连接字符串,您可以在设置后将其复制并粘贴到特定于您的数据库的 web.config 中。您只需要确保 name 属性保持不变并且不会有任何问题(只要 DB 架构也相同)。

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

    【讨论】:

      【解决方案2】:

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

      关于连接字符串,如果您使用的是 Visual Studio 2010,有一个新功能允许根据构建设置在 web.config 中进行转换,这样您就可以拥有将转换 web.config 的开发和生产设置自动地。你可以在这里找到更多信息,http://www.hanselman.com/blog/WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong.aspx

      如果 vs 2010 不是一个选项,那么一种解决方案可以是在您的 web.config 中有一个应用程序密钥,例如 enviroment="development" ,然后在连接到数据库时在代码中选择相应的连接字符串应用设置。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-07
          • 1970-01-01
          • 2019-07-17
          • 1970-01-01
          • 1970-01-01
          • 2014-09-07
          相关资源
          最近更新 更多