手持机数据库开发有感

在手持机开发过程中,遇到过很多问题,其中,有两个问题是困扰了我很久,今天才得以解决。

问题是在使用SQL CE数据库的时候遇到的,手持机的版本是WINCE6.0,支持的是SQL CE3.5,所以使用了VS2008进行开发。由于在安装VS2008的时候,也是遇到了很多困难,终于一个下午再加一个上午,才把VS2008安装成功。但是,安装后,并没有将Microsoft SQL Server Compact Edition自动安装上,至于为什么,现在也不是很清楚,在安装VS2008过程中,我也没有看到关于SQL CE的一些选项。

无奈,只要到网上去找SQL CE的安装程序。找到后,安装上去,在其中找到.CAB的相关文件,安装到手持机上,由于我做的是RDA,即远程数据访问,当我试图进行PUSH操作的时候,提示客户端与服务端版本不一致。

没有办法,到别的同事那里弄来了.CAB安装上去,RDA可以正常使用。正当高兴的时候,发现SELECT语句无法正确执行,异常也无法进行捕获,当执行到rdr = comm.ExecuteReader()这条语句的时候,系统出现异常,报错,似乎像是内存方面的问题,但是,别的同事安装后,就可以正确执行,显现很是奇怪,到网上查找原因,一直没有查找到,这个问题就这样一直能困扰我2个星期。后来,到google上进行了搜索,找到了几个英文的帖子,上面提供了一个连接地址,用来下载SQL Server Compact 3.5,下载后,将本机上的卸载掉,重新安装上后,又从里面找到CAB文件,重新安装到手持机上,问题解决了,可以查询了。正当高兴之余,发现RDA有无法使用,仍然提示版本不一致。好事多磨,只能这样来安慰自己了,要崩溃了。

没办法,再到网上找安装文件,下载了好多,发现都不行。后来在要下班的时候,安装上后,查看.dll属性,客户端与服务端的版本终于一致了,但是,程序中仍然提示版本不一致的错误。郁闷,下班走人

今天早晨来了以后,发现可以正常使用了,查询和RDA都可以正常执行了,想了想,昨天可能是因为我没有重启手持机的问题吧。

现将遇到的问题和解决办法总结如下,希望对大家有所帮助,因为关于手持机的开发的问题,网上资源确实不多,遇到我遇到的这种奇快的问题的解决办法更是很少。

1.    VS2008安装不上去

解决办法:是我在网上找到了,但是具体的网址没有保留,很抱歉,只是记得解决办法,将机器上的NET FrameWork 的版本卸掉,然后使用工具dotnetfx_cleanup_tool.zip进行清理一下,然后下载NetFx20SP1_x86.exeSqlce30setupen.msidotnetfx35.exe分别进行安装,这样VS2008就可以成功安装了。在安装前几个软件的时候,要有足够的耐心,特别是第二个,大概需要等上半个小时左右吧

2.    SQL CE无法执行SELECT的问题,提示的错误信息为出错模块为sqlceqp35.dll,还有个0xc0000005,记得不太清楚了。这里提供解决版本吧

解决办法:http://forum.xda-developers.com/showthread.php?t=502771&page=8

下载这个安装后,可以正常执行

3.    但会出现RDA客户端与服务端版本不一致的问题。

解决版本:到微软的网站上下载SSCERuntime-ENU-x86.msiSSCEServerTools-ENU-x86.msi,安装后就可以了。最后将手持机和PC机重启一下。

希望这些能对大家有所帮助。

你可能感兴趣的:(手持机数据库开发有感)