主要是想在下面回答我的问题#1,但如果有更多的知识,我们将不胜感激。
我在调查期间尝试使用这些资源,但没有成功:
http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/f5eb164d-9774-4864-ae05-cac99740949b _ _ _本地应用程序数据路径。请确保用户在计算机上有本地用户配置文件。连接将被关闭。)
http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/6dfdcc22-7a81-4e8f-a947-c1ce6982d4b3/(对于此错误: 数据库主服务器中的创建数据库权限被拒绝。尝试附加文件的自动命名数据库?失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。)
问题
1.) 为什么在使用 IIS 7 运行 Telerik Rad Controls for ASP.NET AJAX“Live Demos”项目时会发生此错误(使用带有此连接字符串的 ASP.NET 开发服务器运行 Telerik Live Demos 工作正常)
由于检索用户的本地应用程序数据路径失败,无法生成 SQL Server 的用户实例。请确保用户在计算机上有本地用户配置文件。连接将被关闭。
2.) 在 IIS 7 中创建 SQL Server Express 实例与 ASP.NET 开发服务器和 SSMSE 有何不同
3.) 在不同的上下文中运行网站时,是否存在不允许的 SQL 连接字符串的某些属性(基于 #2)。
环境:
我没有通过 ASP.NET 开发服务器运行“实时演示”.NET 3.5 ASP.NET Web 应用程序(在您的系统托盘中弹出并在 Visual Studio 中单击播放后为您选择一个端口的功能)。这很好用!我在 IIS 7 上运行该网站。SQL Server Express 在控制面板 > 管理工具 > 服务 > SQL Server (SQLExpress) 中使用网络服务用户。
使用随安装的“Live Demos”Web 应用程序演示项目提供的此连接字符串:
<add name="NorthwindConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
我试过设置“用户实例=假”,但这只会引发另一个错误:
数据库主服务器中的 CREATE DATABASE 权限被拒绝。试图为文件附加一个自动命名的数据库?失败的。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。
(其中“?”是 *.mdf 文件的路径 - C:\Users\\MyDocuments\Visual Studio 2008\Projects\TelerikDemos\Telerik\RadControls for ASP.NET AJAX Q2 2011\Live Demos\App_Data\Northwind.mdf .. Stack Overflow 斜体被其中一些字符破坏,所以我不得不删除该路径)
有人在上一个问题上回答我设置此“用户实例=假”,但似乎用户实例与您是否使用 SQL Express 无关。用户实例只是 SQL Express 的一项功能,它允许非常无特权的用户在其自己的用户上下文中托管数据库实例。
请注意,此 Northwind 数据库与 *.ldf(日志文件)一起存储在 App_Data 文件夹(在“Live Demos”根应用程序目录下)的 *.mdf 文件中。我之前曾尝试将 *.mdf 文件作为实际数据库附加到“数据库”文件夹下(在 SSMSE 对象资源管理器树中),但后来删除了它们。
Web 应用程序“Live Demos”根文件夹(和嵌套文件夹/文件)具有以下用户分配的所有权限:
- IIS APPPOOL\Telerik(“Telerik”是我在 IIS 7 中为该站点使用的应用程序池的名称)
-IUSR
-网络服务
为自己记下这个 SQLExpress 主数据库查询:
选择 * FROM sys.dm_os_child_instances
还尝试了 *.mdf 和 *.ldf 权限的不同组合,同时还更改了 SQL Server (SQLExpress) Windows 7 服务上的用户(控制面板 > 管理工具 > 服务).. 并在进行这些更改后重新启动了服务。
重现:
下载用于 ASP.NET AJAX 的 Telerik Rad 控件。设置我在 Program Files\Telerik 下的“Live Demos”文件夹中提到的权限,将 Web 应用程序的 .NET 版本更改为 .NET 3.5,使用该文件夹中的普通 web.config 文件切换他们的 3.5 web.config 文件. 您必须使用 Visual Studio 2010,但我在 Visual Studio 2008 中运行它(我做了一些繁重的工作,因为我们公司还没有使用 VS2010)。还将正确的 Bin35 程序集切换到“Live Demos”文件夹的 Bin 文件夹中。编译解决方案。创建一个 IIS 7 网站。添加 Windows 身份验证。启用匿名和 Windows 身份验证..所有其他人都被禁用。将应用程序池设置为使用经典和 32 位。
然后导航到此 URL 并单击“First Look”图像。
http://localhost/combobox/examples/overview/defaultcs.aspx
=====================
如有要求,将提供更多证据。