2009-05-04 37 views
1

我有一个ASP.NET MVC应用程序启动并运行,使用在我的开发机器上运行的SQL Sever express 2005数据库实例。但是,当应用程序部署到生产环境时,IIS实例和SQL Server实例将位于不同的逻辑机器上。我不知道他们是不同的物理盒子,但我怀疑这一点。如何使用ASP.NET MVC链接到远程数据库?

生产数据库服务器目前已经就绪,其上有一个已填充的数据库。因为我已经读取了该实例的访问权限,所以我想将该项目指向我的开发机器,以确保远程数据库连接仍然有效。架构是相同的,显然,只是位置和内容是不同的。

我目前已将项目链接到位于我的开发计算机上的.mdf文件。我需要做什么更改才能切换到远程服务器上的数据库实例?

回答

4

简单的答案:在web.config中更改数据层(Linq to SQL?)的连接字符串以指向您的进程外数据库实例。

更详细地说,以下是我在开发框中将数据库分离出我的网站所采取的步骤。通过执行以下操作,可以在将其部署到生产环境之前在本地测试双服务器配置。

  1. Install SQL Server Management Studio
  2. 打开Management Studio并连接到您的本地SQL Server Express instence(typicaly [boxname]/SQLEXPRESS)
  3. 上管理服务器中的数据库文件夹右键单击并选择附加...
  4. 在您的项目中找到您的.mdf文件并将其打开。
  5. 将新连接的数据库重命名为您要调用的数据库。
  6. 为您的IIS应用程序池在数据库的权限下运行提供任何服务帐户。首先在顶级安全/登录文件夹下创建一个帐户,然后将该帐户添加到新数据库的安全/用户文件夹。对于我的配置,我正在使用NETWORK SERVICE。

现在,您的数据库作为独立数据库安装在SQL Server Express中,您可以使用normal SQL Server connection string连接到数据库。

此时,您的开发环境正在模拟数据库和IIS进程被拆分的生产环境。您只需将生产中的连接字符串更改为指向生产数据库即可。

+0

是的,先生,这是伎俩。我仍然对这个完整的.NET环境感到厌倦,我完全看到这是一个新手级别的问题。无论如何谢谢你的答案:) – 2009-05-04 18:59:08

相关问题