我可以从Web服务器上运行的Web应用程序连接到计算机上的LocalDB MDF文件吗?

时间:2015-03-30 20:07:45

标签: c# asp.net sql-server localdb mdf

在开发中,即使用Visual Studio及其内置的IIS Express实例时,我已将我的Web应用程序设置为使用LocalDB,数据MDF文件位于计算机上的目录中,但不在项目目录中例如," C:\ MyAppData \ MyAppData.mdf",not" C:[...] \ MyAppProject \ App_Data \ MyAppData.mdf。"

使用Visual Studio / IIS Express时工作正常,使用的连接字符串如下所示:

<add name="MyAppEntities" connectionString="metadata=res://*/MyAppModel.MyAppModel.csdl|res://*/MyAppModel.MyAppModel.ssdl|res://*/MyAppModel.MyAppModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(localdb)\v11.0;attachdbfilename=C:\MyAppData\MyAppData.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我的问题是,在将应用程序部署到开发Web服务器之后,应用程序是否可以连接到我的计算机上托管的同一MDF文件?如果是这样,怎么样?如果没有,为什么不呢?请注意,我没有将MDF文件发布到开发Web服务器:我正在尝试从Web服务器上运行的应用程序访问计算机上的MDF文件。

我的假设是,网络应用会使用连接字符串在任何人的计算机上运行该应用程序来查找该MDF文件,但显然这不是很简单,甚至可能无法实现?

1 个答案:

答案 0 :(得分:1)

它无效。您可能需要在本地PC中设置SQL Server Express实例,并在内部创建类似于MDF的数据库(或者直接导出它)。您可以连接到此SQL Express实例,将connectionsString更改为(示例)“SERVERNAME”并引用数据库。一个很好的例子是http://www.connectionstrings.com/。 SQL Server Express是免费的,并且比VS中的任何内部功能都强大得多。