使用外部数据库部署 Web 应用程序
Posted
技术标签:
【中文标题】使用外部数据库部署 Web 应用程序【英文标题】:Web application deployment with external database 【发布时间】:2013-01-02 19:59:13 【问题描述】:我有一个使用 SQL Server 数据库的 Web 应用程序(网站)。
我计划创建一些克隆站点,因此希望将数据库放在主项目文件夹之外的自己的文件夹中。
这是我第一次部署 Web 应用程序,所以我有几个问题。
1) 将数据库定位在项目之外是一种可接受的共享数据库的方式吗?
2) 我的本地机器和远程机器之间的连接字符串会有所不同。远程有Sql2008 Web版和我的本地机器SQL Server Express。目录结构也将有所不同,因为它不是虚拟的。这些是我可以做些什么来自动化这个还是纯粹是一个手动的小提琴?
提前致谢。
【问题讨论】:
您使用的是 Visual Studio 2010 还是 2012?如果是这样,您可以在发布配置文件中指定远程连接字符串或创建 web.config 转换。任何一种方式都会在您部署时自动为您进行更改。 @tdykstra - 我使用的是 2010 专业版 【参考方案1】:如果您不希望将数据库绑定到某个项目,那么您需要一个可以被其他项目/站点访问的中心位置
使用存储在中心位置的连接字符串,例如每个 Web 应用程序的 Web.Config。您可以创建多个具有不同名称的连接字符串,指向不同的数据库源,例如远程连接和本地连接。
例子
<add name="ApplicationServices"
connectionString="Local DB"
providerName="System.Data.SqlClient" />
<add name="ApplicationServices_2"
connectionString="Remote DB"
providerName="System.Data.SqlClient" />
在本地服务器和远程服务器之间切换时,请确保正确的连接名称为“ApplicationServices”,您无需更改代码
【讨论】:
感谢codingbiz的回复。您能否在最后一段中再解释一下您的意思。 我的意思是:如果要使用远程连接,我会从第二个连接字符串中删除 _2 并将其添加到第一个。因此ApplicationServices
总是指向我想要的正确连接。当您在远程和本地机器之间切换时会发生这种情况以上是关于使用外部数据库部署 Web 应用程序的主要内容,如果未能解决你的问题,请参考以下文章