本机错误: – 数据库没有足够的磁盘空间(Windows Compact)

获取磁盘空间不可用的消息,但在Windows Compact设备的Nand Flash目录中有足够的内存。

由于问题在客户端显示,通过debugging很难弄清楚。 软件全天候运行。 如果出现问题,软件会自动重启。 似乎在启动过程中,软件会发现内存不足,并为其他进程造成问题。 有些错误在日志文件中显示,并反复写入相同的错误信息:

SQL Server CE错误1 of 1 HR:-2147467259本地错误:[25037] – 数据库没有足够的磁盘空间
信息:
———- | modDatabase.DoExecuteNonQuery
2015.11.02 * 00:15:02.39796964 —>exception错误 – 位置:modDatabase.DoExecuteNonQuery | 说明:捕获SQL Server CEexception
执行SQL:| 错误消息:UPDATE tblTxtn SET exported = 2 WHERE isactive = 0 and(Exported = 1 OR Exported = 4)2015.11.02 * 00:15:02.39797008 —>exception错误 – 位置:modDatabase.DoExecuteNonQuery | 说明:捕获SQL Server CEexception| 错误消息:SQL Server CE错误|

2015.10.28 * 10:05:27.78586 —>试图添加或创build文件的exception错误:\ Nand Flash \ Logs \ C0023_S002_2015_10_28-Log.txt | 错误:IOException | 保存消息:事件日志:| 备份SG文件夹的问题| frmStartup 2015.10.28 * 10:05:27.78702 —>exception错误 – 位置:CDatabase.GetConnection | 说明:操作exception无效 – 打开连接:\ NAND Flash \ SG5 \ SentryGold5.sdf | 错误消息:SqlCeConnection

2015.02.13 *** 02:57:23.43180937 —>exception错误 – 位置:modcontroller:Main()| 说明:未处理的exception错误捕获前 – 在Main()|上 错误消息:System.ArgumentException:不支持URI格式。 在System.IO.Directory.CreateDirectory(stringpath,DirectorySecurity directorySecurity)上的System.IO.Path.NormalizePathFast(stringpath,布尔fullCheck)在SG5.modController.GetCurrDir()在SG5.modController.Main()

代码是在Visual Studio中使用.NET 3.5 API编写的。

  • 操作系统:Windows CE 6.0
  • 内存:128MB(存储:32MB,程序存储器:100MB)
  • Nand Flash:256MB

我的问题是:

  • 是数据库或Nand Flash或RAM内存变得充满的问题,因为没有理由发现内存变满了
  • 或者当多个线程正在运行时,出于任何原因,这些都会搞砸
  • 这是操作系统的问题,我的意思是一些registry值的变化或不能改变
  • 或者代码本身有问题
  • 或.net框架无法处理它
  • 或内存不能正常释放; 由于在开发环境下运行良好, 所以我不确定。

谢谢。