- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
自从我接触 COM 以来已经有一段时间了,所以很好 ;) 这是在带有 SQLServerCE 2.0 的 WindowsCE 5.0 下。
调用它加载 SQLServerCE 2.0 后:-
IDBInitialize *pIDBInitialize = NULL;
CoCreateInstance(CLSID_SQLSERVERCE_2_0, NULL, CLSCTX_INPROC_SERVER, IID_IDBInitialize, (void**)&pIDBInitialize);
SSCE20.dll 发生模块加载,这显然将 SQLServerCE 引擎加载到进程空间中。
我不明白的是,如果我在之后立即执行此操作:-
pIDBInitialize->Release();
我没有看到 dll 模块卸载,因此 SSCE20.dll(和 friend )仍然加载到我的进程中。
现在我尝试了 CoFreeUnusedLibraries(),我认为它会强制 COM 清除所有未使用的库,但它似乎并没有起到作用。
在运行时,我希望能够从进程中完全卸载 SQLServerCE 2.0 dll 以简化到 3.5SP1 的升级。
我怀疑这与 Microsoft 在 WindowsCE 下使用的共享 dll 模型有关...但是,我可能错了:)
提前致谢
大卫。
最佳答案
我认为 CoFreeUnusedLibraries
已在更高版本的 Windows(XP 和更高版本,如果我没记错的话)中被删除。也就是说,它什么都不做。
A KB article提到调用函数时的不当延迟,以最大限度地降低一个线程强制卸载另一个正在同时尝试从中创建实例的 DLL 的风险。
可能是他们对延迟卸载不满意(我想它仍然存在可能的竞争条件),并决定完全删除该功能。
您可以尝试调用 CoUninitialize
并查看是否会强制卸载。
关于c++ - 如何从当前运行的进程中释放 SQLServerCE 的 COM 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830259/
添加属性值
如何为 SqlServerCe 数据库创建一个 EntityConnection 字符串? 我尝试按照 How to: Build an EntityConnection Connection Str
我对这个异常有疑问: Hibernate.HibernateException : Could not create the driver from Hibernate.Driver.SqlServe
我正在开发一个简单的 WinForms 应用程序,它使用 .sdf 数据库来存储数据。我看到了this关于如何处理多线程访问的有趣帖子,这似乎很有用。问题是,我找不到 System.Data.SqlS
我正在尝试优化对在 Windows Mobile 设备上运行的 SQLServerCE 数据库的查询。该查询用于根据不再从另一个表中引用来识别要在一个表中删除的行。原始查询使用 DISTINCT 来标
我确实包含了 System.Data.SqlServerCe dll,将 using System.Data.SqlServerCe; 放在我的代码中,但是当我打开 .NET 页面时,我得到: The
我正在尝试使用 VS2012 中的 VB.NET 连接到外部 .sdf 文件。我在使用 System.Data.SqlServerCE DLL 时遇到问题。 当我不复制本地时,我收到错误:无法加载文件
我正在尝试引用 System.Data.SqlServerCe,但它不存在。当我尝试浏览和添加文件时,它无论如何都不存在。有什么问题? 最佳答案 这可以通过确认以下两点来解决: 检查您是否已经将 Sy
栈-O 我有一个已部署的应用程序,我尝试将其安装在同事的计算机上,但出现以下错误: Unable to install or run the application. The application
自从我接触 COM 以来已经有一段时间了,所以很好 ;) 这是在带有 SQLServerCE 2.0 的 WindowsCE 5.0 下。 调用它加载 SQLServerCE 2.0 后:- IDBI
我在指定的命名空间中找不到这个类,我能想到的唯一原因是我引用的 System.Data.SqlServerCE 是 3.5 版本,而应该是 4.0 版本。 但是我刚刚重新安装了它(从微软网站下载),仍
代码在 session.Save(employee); 处失败带有 AssertionFailure “空标识符”。我究竟做错了什么? using FluentNHibernate.Cfg; usin
我正在编写一个使用 SQL CE 的 Windows 移动应用程序。当我包含 WHERE Barcode = @Barcode 语句时,它不会返回任何行。 我猜这是因为 Barcode 的值后面有尾随
我正在使用 CF 3.5 在 C# 中开发一个智能应用程序,它需要能够捕获签名。 为了实现这一点,我使用了 Resco 的 InkBox 控件。为了保存和加载图像,我尝试将提供的 VB 源代码转换为
您好,我正在尝试将 LINQ 与 SQL Server CE 结合使用。我用 SqlMetal 生成了 dmbl 文件,将其添加到项目中,还添加了对程序集 System.Data.SqlServerC
使用 nuget:添加 ef4.1 和 sqlce4 但当项目上传到我的托管空间时我得到了这个 异常详细信息:System.Data.MetadataException:指定的架构无效。错误:NMod
我正在使用仅代码的 Ado.Net Entity Framework (教程位于:ADO.NET team blog),我希望尽可能多地独立于数据库。 在我的第一种方法中,我只想使用 Sql Expr
.net 4.0 似乎不支持 SqlServerCe。但是由于我的应用程序需要一个嵌入式数据库,所以我收集了所有必需的 3.5 dll 并将它们包含在内,以便我的 wpf 应用程序可以使用 SqlSe
我有一个 silverlight 应用程序。服务器应用程序在 App_Data 中有一个 SQL Server CE 4 .sdf,以及一个从中生成的 ADO.NET 模型。 如果我尝试添加->新项目
已安装 ELMAH NuGet 包。现在,当我将 ASP.NET MVC 4 项目发布到 Azure 时,它会警告我,它希望我的项目能够直接引用 System.Data.SqlServerCe.d
我对 SqlServerCe.3.5 连接的 Entity Framework 有问题。我有一个名为 Assets 的小项目,带有 .SDF 数据库和实体(模型名称是 Main)。现在,当我尝试连接到
我是一名优秀的程序员,十分优秀!