如何使用ASP.NET MVC链接到远程数据库?

时间:2009-05-04 16:35:16

标签: sql-server asp.net-mvc

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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

  1. Install SQL Server Management Studio
  2. 打开Management Studio并连接到本地SQL Server Express instence(典型[boxname] / SQLEXPRESS)
  3. 右键单击Management Server中的Databases文件夹,然后选择Attach ...
  4. 在项目中找到.mdf文件并将其打开。
  5. 将新连接的数据库重命名为您想要的名称。
  6. 根据数据库的权限提供IIS应用程序池运行的任何服务帐户。首先在顶级Security / Logins文件夹下创建一个帐户,然后将该帐户添加到新数据库的Security / Users文件夹中。对于我的配置,我使用的是NETWORK SERVICE。
  7. 既然您的数据库是作为SQL Server Express中的独立数据库挂载的,那么您可以使用normal SQL Server connection string连接到数据库。

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