- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我经常收到 SQL Server CE 3.5 SP2 抛出的 NullReferenceException。下面是堆栈跟踪:
System.Data.SqlServerCe.dll!System.Data.SqlServerCe.Accessor.Dispose() + 0x5e 字节 System.Data.SqlServerCe.dll!System.Data.SqlServerCe.Accessor.Finalize() + 0x13 字节
到目前为止,我只在一台机器上看到过这个问题,而且恰好是 64 位机器。不确定这是否有贡献。我正在使用 32 位 SQLCE 库。
以下是异常发生时间/位置的反汇编:
00000000 55 push ebp
00000001 8B EC mov ebp,esp
00000003 57 push edi
00000004 56 push esi
00000005 53 push ebx
00000006 8B F1 mov esi,ecx
00000008 83 7E 08 00 cmp dword ptr [esi+8],0
0000000c 74 5D je 0000006B
0000000e 33 FF xor edi,edi
00000010 8B 46 08 mov eax,dword ptr [esi+8]
00000013 83 78 04 00 cmp dword ptr [eax+4],0
00000017 7E 4A jle 00000063
00000019 B9 01 00 00 00 mov ecx,1
0000001e E8 85 77 FB FF call FFFB77A8
00000023 8B D8 mov ebx,eax
00000025 8B 8B 8C 09 00 00 mov ecx,dword ptr [ebx+0000098Ch]
0000002b 8B 46 08 mov eax,dword ptr [esi+8]
0000002e 3B 78 04 cmp edi,dword ptr [eax+4]
00000031 73 6E jae 000000A1
00000033 6B D7 2C imul edx,edi,2Ch
00000036 8D 44 10 08 lea eax,[eax+edx+8]
0000003a 8B 40 10 mov eax,dword ptr [eax+10h]
0000003d 3B C8 cmp ecx,eax
0000003f 74 17 je 00000058
00000041 8B 46 08 mov eax,dword ptr [esi+8]
00000044 3B 78 04 cmp edi,dword ptr [eax+4]
00000047 73 58 jae 000000A1
00000049 6B D7 2C imul edx,edi,2Ch
0000004c 8D 44 10 08 lea eax,[eax+edx+8]
00000050 8B 48 10 mov ecx,dword ptr [eax+10h]
00000053 E8 00 88 FB FF call FFFB8858
00000058 83 C7 01 add edi,1
0000005b 8B 46 08 mov eax,dword ptr [esi+8]
0000005e 39 78 04 cmp dword ptr [eax+4],edi
00000061 7F C2 jg 00000025
00000063 33 D2 xor edx,edx
00000065 89 56 08 mov dword ptr [esi+8],edx
00000068 89 56 04 mov dword ptr [esi+4],edx
0000006b B9 01 00 00 00 mov ecx,1
00000070 E8 33 77 FB FF call FFFB77A8
00000075 8B D8 mov ebx,eax
00000077 8B 8B 8C 09 00 00 mov ecx,dword ptr [ebx+0000098Ch]
0000007d 8B 56 28 mov edx,dword ptr [esi+28h]
00000080 3B CA cmp ecx,edx
00000082 74 11 je 00000095
00000084 8B 4E 28 mov ecx,dword ptr [esi+28h]
00000087 E8 CC 87 FB FF call FFFB8858
0000008c 8B 83 8C 09 00 00 mov eax,dword ptr [ebx+0000098Ch]
00000092 89 46 28 mov dword ptr [esi+28h],eax
00000095 8B CE mov ecx,esi
00000097 E8 B4 62 FB FF call FFFB6350
0000009c 5B pop ebx
0000009d 5E pop esi
0000009e 5F pop edi
0000009f 5D pop ebp
000000a0 C3 ret
000000a1 E8 FA 76 FB FF call FFFB77A0
000000a6 CC int 3
异常在偏移量 0000005e 处抛出。
我很想迁移到 SQL CE 4.0,我听说它更可靠,但我目前仍坚持使用 .NET 3.5。
最佳答案
显然,这已在累积更新 2 中修复。可在此处找到详细信息:
http://support.microsoft.com/kb/2300599
这基本上解决了问题。
我还写了一篇关于此的博客文章,其中包含更多详细信息: http://www.robertdowney.com/post/2011/04/13/Trials-and-Tribulations-with-SQL-Server-Compact-Edition.aspx
关于c# - 来自 System.Data.SqlServerCe.Accessor.Dispose 的 SQLCE 3.5 SP2 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342303/
如何为 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)。现在,当我尝试连接到
我是一名优秀的程序员,十分优秀!