部署到Web服务器时,无法连接到AppData中的SQL数据库

时间:2011-03-20 16:58:19

标签: asp.net sql-server

我有一个用C#编写的ASP.Net程序,它使用存储在AppData目录中的数据库,当我部署到Win2008R2 \ SQl 2008 R2服务器程序时,该程序完全适用于我的开发(Win7 \ SQL 2008R2)无法连接到数据库。我正在使用下面的连接字符串。有几个站点建议我将应用程序池设置为使用“网络服务”,因为它具有对AppData目录的修改权限,我已经这样做但它仍然不起作用,另一个站点建议我应用程序池“加载用户配置文件=真”但仍然没有快乐。

我正在把我的头发拉出去试试,有人可以帮忙吗?

  

数据源=。\ SQLEXPRESS;已集成   安全性= SSPI; AttachDBFilename = | DataDirectory目录| \ DB.mdf;用户   实例=真

我得到“对象引用未设置为对象的实例”。在我的应用程序和“尝试为文件C附加自动命名的数据库:\ inetpub \ wwwroot \ ADPhonebook \ App_Data \ DB.mdf失败。存在同名的数据库,或无法打开指定的文件,或者它是位于UNC分享。“在应用程序事件日志中

我非常感谢任何建议,谢谢。 史蒂芬

1 个答案:

答案 0 :(得分:1)

正如Martin在评论中指出的那样,如果您发布了确切的错误消息(可能是完整的异常详细信息),那将会很有趣。

但是这样的问题主要与操作系统级别的权利有关。

因此,请确保应用程序池的用户(标识)具有.mdf文件的完全访问权限(ntfs),然后重试。

修改(在您发布确切消息后):
好吧,我想这意味着在你部署的服务器上,在该Sql Server实例上已经存在一个名为DB的数据库。因此,您必须删除或重命名该文件才能附加具有该名称的数据库 我认为用户权利问题仍然存在。

相关问题