如何在Web配置中管理与aspnetdb的连接?

时间:2013-11-11 06:20:11

标签: asp.net aspnetdb

我在asp.net中使用登录控件。此控件在app_data文件夹中创建aspnetdb.mdf文件,并且Web配置中没有任何代码用于连接到此db。在本地Web工作正常,但当II上的Web无法连接到aspnetdb。如何通过Web配置管理与aspnetdb的连接? 我在web.config中使用follow cod但是当aspnetdb附加到sqlserver时,web无法正常工作:

<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />

1 个答案:

答案 0 :(得分:1)

一个观察是您在连接字符串中提供mdf文件的完整路径。 |DataDirectory|目录自动指向App_Date文件夹。所以不需要提供mdf文件的完整物理路径。这也应该有用 -

<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />

直接连接到mdf文件,您需要在计算机上安装SQLEXPRESS。检查您的Web服务器是否安装了SQLEXPRESS实例。

如果您将文件附加到MSSQLSERVER实例。那么你的连接字符串应该改成这样的东西 -

<add name="ApplicationServices"
         connectionString="data source=(local);Initial Catalog=ASPNETDB;Integrated Security=SSPI;User Instance=true" providerName="System.Data.SqlClient" />

如果此连接字符串在您的本地计算机上不起作用,那么您可以将它们保留在web.config中并注释掉一个。像这样的东西 -

<!-- LOCAL -->
<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />
<!--REAL-->
<!--<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />-->

这里我已经注释掉了真实/网络连接字符串,因此它可以在本地机器上运行。 在部署之前,只需反转注释,它就可以在网络上运行。