由于无法检索用户的本地应用程序数据路径,无法生成SQL Server的用户实例

yos*_*ssi 5 sql-server asp.net iis-7

vs2010中的net项目我在app_data文件夹中有一个数据库和表,我创建了一个部署包,并将包导入到我本地机器上安装的iis服务器上.现在我在尝试执行插入时收到此错误消息.

由于无法检索用户的本地应用程序数据路径,无法生成SQL Server的用户实例.请确保用户在计算机上具有本地用户配置文件.连接将被关闭

连接字符串是:

数据源=.\ SQLEXPRESS; AttachDbFilename = | DataDirectory |\survey.mdf; Integrated Security = True; User Instance = True

在VS2010内部运行时,它工作正常.

我怎么能解决这个问题呢?

Rem*_*anu 7

删除User Instance=True.您不需要RANU实例.接下来,确保SQL Server Express 服务帐户对app_data具有正确的所需权限:

cacls <path\app_data> /E /T /G SQLServerMSSQLUser$<ComputerName>$SQLEXPRESS:F 
Run Code Online (Sandbox Code Playgroud)


dpp*_*dpp 7

本文帮助解决了这个问题:http://support.microsoft.com/kb/2002980

编辑从MSDN文章(如果链接消失):

Windows 7和Windows Server 2008 R2的分辨率

对于在IIS 7.5下运行的所有Web应用程序,无论其项目类型如何,请执行以下步骤:

  1. 运行Internet信息服务(IIS)管理器工具.可以从"管理"开始菜单访问此工具,也可以在Windows"开始" - >"搜索"文本框中键入"inetmgr"并选择inetmgr工具.
  2. 在IIS管理器工具的左侧窗格中,展开计算机节点.单击"应用程序池"节点,以便应用程序池显示在管理工具的主窗口中.
  3. 如果要对ASP.NET 2.0/3.0/3.5应用程序进行故障排除,请选择"DefaultAppPool"应用程序池.对于ASP.NET v4,请选择"ASP.NET v4.0"应用程序池.
  4. 右键单击选定的应用程序池,然后选择"高级设置"
  5. 在"高级设置"对话框中,找到名为"过程模型"的类别.类别中的第一行将是"标识"行.
  6. 单击"标识"行,然后单击值单元格右侧显示的小按钮.该按钮显示文本"..."
  7. 将弹出一个名为"应用程序池标识"的对话框.在该对话框中有两个单选按钮.确保选中标题为"内置帐户"的第一个单选按钮.
  8. 在单选按钮下方的下拉框中,选择"网络服务"作为标识.
  9. 单击"确定"关闭"应用程序池标识"对话框.
  10. 单击"确定"关闭"高级设置"对话框.
  11. 此时,对应用程序池标识的更改将保存到IIS 7.5的配置存储中.

Web应用程序项目和网站的解决方案

对于Web应用程序项目(WAP)和位于用作NETWORK SERVICE的任何IIS版本下托管的用户文档文件夹中的网站,请执行以下步骤:

  1. 首先确认IIS已配置为作为NETWORK SERVICE运行.这是IIS6和IIS7上的默认设置.但是,如果您在Windows 7或Window Server 2008 R2上运行,则首先需要按照"Windows 7和Windows Server 2008 R2的解决方案"中的步骤操作,以使IIS应用程序池作为NETWORK SERVICE运行.
  2. 在命令提示符下,键入net stop iisadmin/y.这将导致任何正在运行的ASP.NET WAP应用程序关闭.
  3. 退出所有正在运行的Visual Studio实例.
  4. 必须授予NETWORK SERVICE对位于用户的Documents文件夹中的顶级Visual Studio文件夹的读取权限.Visual Studio文件夹将根据版本具有不同的名称:"Visual Studio 2005","Visual Studio 2008"或"Visual Studio 2010".
  5. 必须为NETWORK SERVICE授予对项目顶级项目文件夹的读写权限.例如,如果您的WAP项目名为"MyCustomWebProject",则文件夹"Documents\Visual Studio 20xx\Projects\MyCustomWebProject"需要为NETWORK SERVICE启用读写访问权限.或者,如果您的网站项目名为"MyCustomWebProject",则文件夹"Documents\Visual Studio 20xx\Websites\MyCustomWebProject"需要为NETWORK SERVICE启用读写访问权限.
  6. 必须为NETWORK SERVICE授予对Web项目目录结构中的App_Data文件夹的读写权限.


Gre*_*olf 5

我的解决方案是

   - On IIS ->> Application pool
   - Select Default App Pool (it may be different of your website, please choose your pool)
   - Advanced setting
   - Identity: ApplicationPoolIdentity
   - Load user profile: change to true Restart IIS
Run Code Online (Sandbox Code Playgroud)