SQL CE 部署 - AppHarbor - 无法加载 SQL Server Compact 的本机组件

Posted

技术标签:

【中文标题】SQL CE 部署 - AppHarbor - 无法加载 SQL Server Compact 的本机组件【英文标题】:SQL CE Deploy - AppHarbor - Unable to load the native components of SQL Server Compact 【发布时间】:2011-05-19 11:14:30 【问题描述】:

我完全关注了以下帖子:

http://support.appharbor.com/discussions/problems/544-error-with-reference-to-systemdatasqlserverceentity-dll

Using SQL Server CE 4 on a remote host with MVC 3

我仍然收到以下错误:

无法加载与版本 8482 的 ADO.NET 提供程序对应的 SQL Server Compact 本机组件。请安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。

我做了什么:

新文件 -> 新的 ASP.NET MVC 3 应用程序。通过 NuGet 添加了 EFCodeFirst.SqlServerCompact v0.8.8482.1,其中添加了必要的包。

本地一切都很好。我通过 Git 构建/清理/重建并提交整个解决方案并推送到 AppHarbor。所有未触及 SQL CE 的页面都按预期工作。当我尝试加载与 SQL CE 对话的页面时,我看到了附加的异常:

以下是我安装的包:

下面是我的 Bin 目录的样子:

【问题讨论】:

您可能想参考我们提供的示例:github.com/appharbor/AppHarbor-SQLServerCEUnitTesting-Sample 【参考方案1】:

我也无法让这个工作,我花了很长时间尝试。我最终只是切换到了 AppHarbor 支持的正确 SQL Server(因为在 App_Data 文件夹中使用 SqlCompact 无论如何都是危险的)。

【讨论】:

这里同样切换到他们托管的 SQL Server。另外,无论如何它都会在新提交时被吹走。不过感谢您的回复。 是的,不仅仅是一个新的提交,而且如果实例死亡,或者如果第二个实例启动,你最终会得到两个数据库! ://【参考方案2】:

SQL server CE 可以在 AppHarbor 上运行,尽管出于 Danny Tuppeny 提到的原因,我们不建议使用它。 This support case 包含工作代码。

【讨论】:

【参考方案3】:

我有 same problem 与 Asp.net。以下是我的解决方法:

问题是权限问题。当前应用程序池的身份 IWAM_plesk(默认)无权访问 SQL Server Compact 4.0 文件夹:

C:\Program Files\Microsoft SQL Server Compact Edition\v4.0

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0

我刚刚授予读取和执行和列出文件夹内容权限,现在它就像一个魅力。

【讨论】:

以上是关于SQL CE 部署 - AppHarbor - 无法加载 SQL Server Compact 的本机组件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AppHarbor 上接受 CORS AJAX 请求?

在 appharbor 上构建 web 服务时无法找到 nuget.exe

尝试在 AppHarbor 上查看我的 MVC4 应用程序时出现 403 错误(禁止)

将 SQL CE 4 部署到 IIS 7 - 需要特殊权限?

用于多个应用程序中的 C# 类库的 SQL Server CE 私有部署

WindowsMo​​bile .NET 应用程序部署上的 SQL CE 3.5