net项目我在app_data文件夹中有一个数据库和表,我创建了一个部署包,并将包导入到我本地机器上安装的iis服务器上。 现在我在尝试执行插入时收到此错误消息。
由于无法检索用户的本地应用程序数据路径而无法生成SQL Server的用户实例。请确保用户在计算机上具有本地用户配置文件。连接将关闭
连接字符串是:
Data Source =。\ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ survey.mdf; Integrated Security = True; User Instance = True
在VS2010内部运行时它工作正常。
我该如何解决这个问题?
答案 0 :(得分:7)
删除User Instance=True
。您不需要RANU个实例。接下来,确保SQL Server Express service account在app_data上具有正确的所需权限:
cacls <path\app_data> /E /T /G SQLServerMSSQLUser$<ComputerName>$SQLEXPRESS:F
答案 1 :(得分:7)
本文帮助解决了这个问题:http://support.microsoft.com/kb/2002980
编辑从MSDN文章中(如果链接消失):
Windows 7和Windows Server 2008 R2的解决方案
对于在IIS 7.5下运行的所有Web应用程序,无论它们是什么 项目类型,执行以下步骤:
- 运行Internet信息服务(IIS)管理器工具。可以从“管理”开始菜单访问此工具,也可以通过 在Windows开始 - >搜索文本框中键入“inetmgr”并选择 inetmgr工具。
- 在IIS管理器工具的左侧窗格中,展开计算机节点。单击“应用程序池”节点,以便应用程序 池显示在管理工具的主窗口中。
- 如果要对ASP.NET 2.0 / 3.0 / 3.5应用程序进行故障排除,请选择“DefaultAppPool”应用程序池。对于ASP.NET v4选择 “ASP.NET v4.0”应用程序池。
- 右键单击选定的应用程序池,然后选择“高级设置”
- 在“高级设置”对话框中,找到名为“过程模型”的类别。该类别的第一行将是“身份” 行。
- 单击“标识”行,然后单击值单元格右侧显示的小按钮。按钮 显示文字“...”
- 将弹出一个名为“应用程序池标识”的对话框。在该对话框中有两个单选按钮。确保 选择了第一个标题为“内置帐户”的单选按钮。
- 在单选按钮下方的下拉框中,选择“网络服务”作为标识。
- 单击“确定”关闭“应用程序池标识”对话框。
- 点击“确定”关闭“高级设置”对话框。
- 此时,对应用程序池标识的更改将保存到IIS 7.5的配置存储中。
醇>Web应用程序项目和网站的解析
对于位于用户的Web应用程序项目(WAP)和网站 Documents文档在作为NETWORK运行的任何IIS版本下托管的文件夹 服务,执行以下步骤:
- 首先确认IIS已配置为作为NETWORK SERVICE运行。这是IIS6和IIS7上的默认设置。但是,如果你是 在Windows 7或Window Server 2008 R2上运行首先需要 按照上面“Windows 7和Windows Server的解决方案”中的步骤操作 2008 R2“使IIS应用程序池作为NETWORK SERVICE运行。
- 在命令提示符下,键入net stop iisadmin / y。这将导致任何正在运行的ASP.NET WAP应用程序关闭。
- 退出所有正在运行的Visual Studio实例。
- NETWORK SERVICE必须被授予对位于用户的Documents文件夹中的顶级Visual Studio文件夹的读取权限。该 Visual Studio文件夹将具有不同的名称,具体取决于 版本:“Visual Studio 2005”,“Visual Studio 2008”或“Visual Studio 2010“。
- 必须为您的项目的顶级项目文件夹授予NETWORK SERVICE读取和写入权限。例如,如果你的WAP 项目被称为“MyCustomWebProject”,然后是文件夹 “Documents \ Visual Studio 20xx \ Projects \ MyCustomWebProject”需要 具有NETWORK SERVICE的读写访问权限。或者,如果你的 webiste项目称为“MyCustomWebProject”,然后是文件夹 “Documents \ Visual Studio 20xx \ Websites \ MyCustomWebProject”需要 已启用NETWORK SERVICE的读写访问权限。
- 必须为网络服务授予对Web项目目录中的App_Data文件夹的读写权限 结构
醇>
答案 2 :(得分:3)
ENVIROMENT的解决方案:
Win 7,IIS 7.0,Visual Studio 2010,Database.mdf文件
打开网络配置并检查conexion字符串:
重要的是,请确保AttachDbFilename后面没有C:\ inetpub \&lt;&gt; \ App_Data \
<add name="conexion"
connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|Database.mdf;
Integrated Security=True;
User Instance=True" />
在IIS 7.0中转到ApplicationPools,找到为应用程序创建的应用程序池。
然后转到IIS 7.0中的WebSite并单击它......
单击“匿名身份验证”并选择“编辑”,然后选择“应用程序池标识”
找到ASP.NET模拟并编辑,选择指定用户,然后输入凭据。
重启IIS: cmd&gt; IISRESET / NOFORCE 或单击重置图像按钮
答案 3 :(得分:3)
我的解决方案是
- 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
答案 4 :(得分:0)
RUN-&GT; INETMGR-&GT;
转到“站点”选择您的站点
然后转到右侧面板,查找&#34;基本设置&#34;
然后点击&#34;连接为&#34;然后选择&#34;特定用户&#34;然后点击&#34;设置&#34;
输入本地PC用户名和密码然后单击&#34;确定&#34;
然后点击&#34;测试设置&#34;如果你看到两个选项都是绿色,那么确定。
问题解决了
享受...