2011 年 9 月 9 日上午 9:19 更新

2011 年 9 月 9 日上午 9:19 更新

背景:

我正在尝试在 IIS 7 中的本地计算机上运行 Telerik 的 Rad Controls for ASP.NET AJAX 的现场演示。当我查看 ComboBox 演示时出现错误。

我收到错误:

'/' 应用程序中的服务器错误.... 数据库 'master' 中的 CREATE DATABASE 权限被拒绝。尝试为文件 C:\Users\MacGyver\MyDocuments\Visual Studio 2008\Projects\TelerikDemos\Telerik\RadControls for ASP.NET AJAX Q2 2011\Live Demos\App_Data\Northwind.mdf 附加自动命名的数据库失败。存在同名的数据库,或无法打开指定的文件,或该文件位于 UNC 共享中。

这里存在相同的错误:
(在大字体中搜索“解决方案就在这里”......)

http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/6dfdcc22-7a81-4e8f-a947-c1ce6982d4b3/

我使用的是 Windows 7。点击方式略有不同,但我猜是同样的问题。我进入“App_Data 的高级安全设置”窗口,有两个复选框。最初,“包括可从此对象的父级继承的权限”(框 1)复选框处于选中状态。但“用可从此对象继承的权限替换所有子对象权限”(框 2)未选中。当我尝试选中框 2 并单击“应用”时,它没有保持选中状态。为什么会这样?

===================================

2011 年 9 月 9 日上午 9:19 更新

这是我的连接字符串:

<connectionStrings>
<add name="NorthwindConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient" />
    <add name="TelerikConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Telerik.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient" />
    <add name="NorthwindConnectionString35" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient" />
    <add name="TelerikConnectionString35" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Telerik.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient" />
    <add name="NorthwindEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Northwind.mdf;Integrated Security=True;User Instance=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
    <add name="TelerikEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Telerik.mdf;Integrated Security=True;User Instance=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
    <add name="QSFRatingsConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|QSFRatings.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient" />
    <add name="SelfReferencingDbConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|TelerikSelfReferencingDb.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient" />
</connectionStrings>

以下是 App_Data 中文件的屏幕截图:

在此处输入图片描述

答案1

听起来您在实例上已经有一个名为 Northwind 的数据库。

有关整个设置、问题和解决方案的更多详细信息,请参阅此链接:

https://stackoverflow.com/questions/7366295/sqlexpress-connection-fails-in-iis-7-w-user-instance-error-failed-to-generate

答案2

我在连接字符串前面添加了“Initial Catalog=uniquenamehere;”,解决了该问题:

  <connectionStrings>
    <add name="Northwind" connectionString="metadata=res://*/Models.Northwind.csdl|res://*/Models.Northwind.ssdl|res://*/Models.Northwind.msl;provider=System.Data.SqlClient;provider connection string=&quot;Initial Catalog=uniquenamehere;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\Northwind.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

相关内容