一个观察结果是您mdf
在连接字符串中给出了文件的完整路径。|DataDirectory|
directory 自动指向该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" />-->
这里我已经注释掉了真实/网络连接字符串,所以它可以在本地机器上工作。在部署之前只需反转评论,它将在网络上运行。