有没有人让SQL Compant 4在Rackspace Cloud站点上工作?

时间:2011-12-08 16:25:54

标签: sql-server-ce rackspace-cloud

我一直在尝试在使用SQL CE 4存储简单联系表单提交的Rackspace Cloud站点(不是云服务器)上部署轻量级站点。每当我尝试访问数据库时,我都会收到Required permissions cannot be acquired错误。

我不知道我能做什么(如果有的话)来解决它,因为我无法访问IIS或此服务器模型中的机器级配置。正如我所说,SQL CE 4应该在ASP.NET 3.5下以中等信任方式工作,但我

这里是错误转储:

  

无法获取所需的权限。描述:未处理   在执行当前Web请求期间发生异常。   请查看堆栈跟踪以获取有关错误的更多信息   它起源于代码。

     

异常详细信息:System.Security.Policy.PolicyException:必需   权限无法获得。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[PolicyException:无法获取所需的权限。]
  System.Security.SecurityManager.ResolvePolicy(证据证据,   PermissionSet reqdPset,PermissionSet optPset,PermissionSet denyPset,   的PermissionSet和放大器;否认,布尔检查执行权限)+7606467
  System.Security.SecurityManager.ResolvePolicy(证据证据,   PermissionSet reqdPset,PermissionSet optPset,PermissionSet denyPset,   的PermissionSet和放大器;否认,Int32& securitySpecialFlags,布尔值   checkExecutionPermission)+57

     

[FileLoadException:无法加载文件或程序集   ' System.Data.SqlServerCe,Version = 4.0.0.0,Culture = neutral,   公钥= 89845dcd8080cc91'或其中一个依赖项。失败   授予最低权限请求。 (HRESULT的例外情况:   0x80131417)] System.Reflection.Assembly._nLoad(AssemblyName   fileName,String codeBase,Evidence assemblySecurity,Assembly   locationHint,StackCrawlMark& stackMark,Boolean throwOnFileNotFound,   布局为内省)+0
  System.Reflection.Assembly.nLoad(AssemblyName fileName,String   codeBase,Evidence assemblySecurity,Assembly locationHint,   StackCrawlMark&安培; stackMark,Boolean throwOnFileNotFound,Boolean   forIntrospection)+43
  System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,   证据集合安全,StackCrawlMark& stackMark,布尔   forIntrospection)+127
  System.Reflection.Assembly.InternalLoad(String assemblyString,   证据集合安全,StackCrawlMark& stackMark,布尔   forIntrospection)+142 System.Reflection.Assembly.Load(String   assemblyString)+28
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串   assemblyName,布尔starDirective)+46

     

[ConfigurationErrorsException:无法加载文件或程序集   ' System.Data.SqlServerCe,Version = 4.0.0.0,Culture = neutral,   公钥= 89845dcd8080cc91'或其中一个依赖项。失败   授予最低权限请求。 (HRESULT的例外情况:   0x80131417)]
  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串   assemblyName,布尔starDirective)+613
  System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()   +203 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo   ai)+105
  System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection   compConfig)+178
  System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath   configPath,Boolean supportLocalization,String outputAssemblyName)   +54 System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath)   virtualDir,CodeDirectoryType dirType,String assemblyName,StringSet   excludedSubdirectories,Boolean isDirectoryAllowed)+600
  System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath   virtualDir,CodeDirectoryType dirType,String assemblyName,StringSet   excludedSubdirectories)+125
  System.Web.Compilation.BuildManager.CompileCodeDirectories()+265
  System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()+ 320

     

[HttpException(0x80004005):无法加载文件或程序集   ' System.Data.SqlServerCe,Version = 4.0.0.0,Culture = neutral,   公钥= 89845dcd8080cc91'或其中一个依赖项。失败   授予最低权限请求。 (HRESULT的例外情况:   0x80131417)]
  System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()   +58 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()+ 512   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager   appManager,IApplicationHost appHost,IConfigMapPathFactory   configMapPathFactory,HostingEnvironmentParameters hostingParameters)   729

     

[HttpException(0x80004005):无法加载文件或程序集   ' System.Data.SqlServerCe,Version = 4.0.0.0,Culture = neutral,   公钥= 89845dcd8080cc91'或其中一个依赖项。失败   授予最低权限请求。 (HRESULT的例外情况:   0x80131417)] System.Web.HttpRuntime.FirstRequestInit(HttpContext   上下文)+8901019
  System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+85   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest   wr,HttpContext context)+333

1 个答案:

答案 0 :(得分:1)

SQL Server Compact仅适用于ASP.NET 4.0开箱即用的中信任,而不适用于3.5 SP1。需要修改machine.config以使用3.5 SP1和中等信任 - 我的博客文章中有更多信息:http://erikej.blogspot.com/2011/10/sql-server-compact-40-under-aspnet.html